Fix and unit test for issue #1079 #2480
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
pull_request: | |
branches: | |
- main | |
types: | |
- labeled | |
- opened | |
- edited | |
- reopened | |
- synchronize | |
push: | |
branches: | |
- main | |
tags: "*" | |
workflow_dispatch: | |
jobs: | |
test-RLBase: | |
name: RLBase - Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
version: | |
- "1" | |
os: | |
- ubuntu-latest | |
- macOS-latest | |
# - windows-latest # Reactivate once path issues are figured out | |
arch: | |
- x64 | |
# - arm64 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 100 | |
- uses: julia-actions/setup-julia@v2 | |
with: | |
version: ${{ matrix.version }} | |
arch: ${{ matrix.arch }} | |
- uses: julia-actions/cache@v2 | |
- name: Get changed files | |
id: RLBase-changed | |
uses: tj-actions/changed-files@v42 | |
with: | |
files: | | |
src/ReinforcementLearningBase/** | |
- name: Test RLBase | |
if: (steps.RLBase-changed.outputs.any_changed == 'true') || (contains(github.event.pull_request.labels.*.name, 'Integration Test')) | |
run: | | |
julia --color=yes -e ' | |
using Pkg; | |
Pkg.develop(path="src/ReinforcementLearningBase") | |
Pkg.test("ReinforcementLearningBase", coverage=true)' | |
- uses: julia-actions/julia-processcoverage@v1 | |
with: | |
directories: src/ReinforcementLearningBase/src | |
- uses: codecov/codecov-action@v3 | |
test-RLCore: | |
name: RLCore - Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
version: | |
- "1" | |
os: | |
- ubuntu-latest | |
- macOS-latest | |
# - windows-latest # Reactivate once path issues are figured out | |
arch: | |
- x64 | |
# - arm64 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 100 | |
- uses: julia-actions/setup-julia@v2 | |
with: | |
version: ${{ matrix.version }} | |
arch: ${{ matrix.arch }} | |
- uses: julia-actions/cache@v2 | |
- name: Get changed files | |
id: RLCore-changed | |
uses: tj-actions/changed-files@v42 | |
with: | |
files: | | |
src/ReinforcementLearningCore/** | |
src/ReinforcementLearningBase/** | |
- name: Test RLCore | |
if: (steps.RLCore-changed.outputs.any_changed == 'true') || (contains(github.event.pull_request.labels.*.name, 'Integration Test')) | |
run: | | |
julia --color=yes -e ' | |
using Pkg; | |
Pkg.develop(path="src/ReinforcementLearningBase") | |
Pkg.develop(path="src/ReinforcementLearningCore") | |
Pkg.develop(path="src/ReinforcementLearningEnvironments") | |
Pkg.develop(path=".") # ReinforcementLearning meta-package | |
Pkg.develop(path="src/ReinforcementLearningFarm") | |
Pkg.test("ReinforcementLearningCore", coverage=true)' | |
- uses: julia-actions/julia-processcoverage@v1 | |
with: | |
directories: src/ReinforcementLearningCore/src | |
- uses: codecov/codecov-action@v3 | |
test-RLFarm: | |
name: RLFarm - Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
version: | |
- "1" | |
os: | |
- ubuntu-latest | |
- macOS-latest | |
# - windows-latest # Reactivate once path issues are figured out | |
arch: | |
- x64 | |
# - arm64 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 100 | |
- uses: julia-actions/setup-julia@v2 | |
with: | |
version: ${{ matrix.version }} | |
arch: ${{ matrix.arch }} | |
- uses: julia-actions/cache@v2 | |
- name: Get changed files | |
id: RLFarm-changed | |
uses: tj-actions/changed-files@v42 | |
with: | |
files: | | |
src/ReinforcementLearningFarm/** | |
src/ReinforcementLearningCore/** | |
src/ReinforcementLearningBase/** | |
- name: Test RLFarm | |
if: (steps.RLFarm-changed.outputs.any_changed == 'true') || (contains(github.event.pull_request.labels.*.name, 'Integration Test')) | |
run: | | |
julia --color=yes -e ' | |
using Pkg; | |
Pkg.develop(path="src/ReinforcementLearningBase") | |
Pkg.develop(path="src/ReinforcementLearningCore") | |
Pkg.develop(path="src/ReinforcementLearningEnvironments") | |
Pkg.develop(path=".") # ReinforcementLearning meta-package | |
Pkg.develop(path="src/ReinforcementLearningFarm") | |
Pkg.test("ReinforcementLearningFarm", coverage=true)' | |
- uses: julia-actions/julia-processcoverage@v1 | |
with: | |
directories: src/ReinforcementLearningFarm/src | |
- uses: codecov/codecov-action@v3 | |
test-RLEnvs: | |
name: RLEnvs - Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
version: | |
- "1" | |
os: | |
- ubuntu-latest | |
- macOS-latest | |
# - windows-latest # Reactivate once path issues are figured out | |
arch: | |
- x64 | |
# - arm64 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 100 | |
- uses: julia-actions/setup-julia@v2 | |
with: | |
version: ${{ matrix.version }} | |
arch: ${{ matrix.arch }} | |
# - uses: julia-actions/cache@v2 | |
- name: Get changed files | |
id: RLEnvironments-changed | |
uses: tj-actions/changed-files@v42 | |
with: | |
files: | | |
src/ReinforcementLearningEnvironments/** | |
src/ReinforcementLearningFarm/** | |
src/ReinforcementLearningCore/** | |
src/ReinforcementLearningBase/** | |
- name: Test RLEnvironments | |
if: (steps.RLEnvironments-changed.outputs.any_changed == 'true') || (contains(github.event.pull_request.labels.*.name, 'Integration Test')) | |
env: | |
PYTHON: "" | |
run: | | |
julia --color=yes -e ' | |
using Pkg; | |
Pkg.develop(path="src/ReinforcementLearningBase") | |
Pkg.develop(path="src/ReinforcementLearningCore") | |
Pkg.develop(path="src/ReinforcementLearningEnvironments") | |
Pkg.test("ReinforcementLearningEnvironments", coverage=true)' | |
- uses: julia-actions/julia-processcoverage@v1 | |
with: | |
directories: src/ReinforcementLearningEnvironments/src | |
- uses: codecov/codecov-action@v3 | |
docs: | |
name: Documentation | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- run: python -m pip install --user matplotlib | |
- uses: julia-actions/setup-julia@v2 | |
with: | |
version: "1" | |
- name: Build homepage | |
run: | | |
cd docs/homepage | |
julia --project --color=yes -e ' | |
using Pkg; Pkg.instantiate(); | |
using NodeJS; run(`$(npm_cmd()) install highlight.js`); | |
using Franklin; | |
optimize()' > build.log | |
- name: Make sure homepage is generated without error | |
run: | | |
if grep -1 "Franklin Warning" build.log; then | |
echo "Franklin reported a warning" | |
exit 1 | |
else | |
echo "Franklin did not report a warning" | |
fi | |
- name: Build docs | |
run: | | |
cd docs | |
julia --project --color=yes -e ' | |
using Pkg; Pkg.instantiate() | |
Pkg.develop(path="../src/ReinforcementLearningBase") | |
Pkg.develop(path="../src/ReinforcementLearningCore") | |
Pkg.develop(path="../src/ReinforcementLearningEnvironments") | |
Pkg.develop(path="../") # ReinforcementLearning meta-package | |
Pkg.develop(path="../src/ReinforcementLearningFarm") | |
include("make.jl")' # Temporarily skip broken link checks | |
mv build homepage/__site/docs | |
- name: Deploy to the main repo | |
uses: peaceiris/actions-gh-pages@v3 | |
if: ${{ github.event_name == 'push' }} | |
with: | |
deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }} | |
external_repository: JuliaReinforcementLearning/JuliaReinforcementLearning.github.io | |
force_orphan: true | |
publish_branch: main | |
publish_dir: ./docs/homepage/__site |