Skip to content

Fix and unit test for issue #1079 #2480

Fix and unit test for issue #1079

Fix and unit test for issue #1079 #2480

Workflow file for this run

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