Skip to content

Fix and refactor SAC #2114

Fix and refactor SAC

Fix and refactor SAC #2114

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@v3
with:
fetch-depth: 100
- uses: julia-actions/setup-julia@v1
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- uses: actions/cache@v3
env:
cache-name: cache-artifacts
with:
path: ~/.julia/artifacts
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
restore-keys: |
${{ runner.os }}-test-${{ env.cache-name }}-
${{ runner.os }}-test-
${{ runner.os }}-
- name: Get changed files
id: RLBase-changed
uses: tj-actions/changed-files@v35
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
- 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@v3
with:
fetch-depth: 100
- uses: julia-actions/setup-julia@v1
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- uses: actions/cache@v3
env:
cache-name: cache-artifacts
with:
path: ~/.julia/artifacts
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
restore-keys: |
${{ runner.os }}-test-${{ env.cache-name }}-
${{ runner.os }}-test-
${{ runner.os }}-
- name: Get changed files
id: RLCore-changed
uses: tj-actions/changed-files@v35
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.test("ReinforcementLearningCore", coverage=true)'
- uses: julia-actions/julia-processcoverage@v1
- uses: codecov/codecov-action@v3
test-RLZoo:
name: RLZoo - 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@v3
with:
fetch-depth: 100
- uses: julia-actions/setup-julia@v1
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- uses: actions/cache@v3
env:
cache-name: cache-artifacts
with:
path: ~/.julia/artifacts
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
restore-keys: |
${{ runner.os }}-test-${{ env.cache-name }}-
${{ runner.os }}-test-
${{ runner.os }}-
- name: Get changed files
id: RLZoo-changed
uses: tj-actions/changed-files@v35
with:
files: |
src/ReinforcementLearningZoo/**
src/ReinforcementLearningCore/**
src/ReinforcementLearningBase/**
- name: Test RLZoo
if: (steps.RLZoo-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/ReinforcementLearningEnvironments")
Pkg.develop(path="src/ReinforcementLearningCore")
Pkg.develop(path="src/ReinforcementLearningZoo")
Pkg.test("ReinforcementLearningZoo", coverage=true)'
- uses: julia-actions/julia-processcoverage@v1
- 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@v3
with:
fetch-depth: 100
- uses: julia-actions/setup-julia@v1
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- uses: actions/cache@v3
env:
cache-name: cache-artifacts
with:
path: ~/.julia/artifacts
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
restore-keys: |
${{ runner.os }}-test-${{ env.cache-name }}-
${{ runner.os }}-test-
${{ runner.os }}-
- name: Get changed files
id: RLEnvironments-changed
uses: tj-actions/changed-files@v35
with:
files: |
src/ReinforcementLearningEnvironments/**
src/ReinforcementLearningZoo/**
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
- uses: codecov/codecov-action@v3
test-RLExperiments:
name: RLExperiments - 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@v3
with:
fetch-depth: 100
- uses: julia-actions/setup-julia@v1
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- uses: actions/cache@v3
env:
cache-name: cache-artifacts
with:
path: ~/.julia/artifacts
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
restore-keys: |
${{ runner.os }}-test-${{ env.cache-name }}-
${{ runner.os }}-test-
${{ runner.os }}-
- name: Get changed files
id: RLExperiments-changed
uses: tj-actions/changed-files@v35
with:
files: |
src/ReinforcementLearningExperiments/**
src/ReinforcementLearningZoo/**
src/ReinforcementLearningCore/**
src/ReinforcementLearningBase/**
- name: Test RLExperiments
if: (steps.RLExperiments-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="src/ReinforcementLearningZoo")
Pkg.develop(path="src/ReinforcementLearningExperiments")
Pkg.build("ReinforcementLearningExperiments")
Pkg.test("ReinforcementLearningExperiments", coverage=true)'
- uses: julia-actions/julia-processcoverage@v1
- uses: codecov/codecov-action@v3
docs:
name: Documentation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Get changed files
id: documentation-changed
uses: tj-actions/changed-files@v35
with:
files: |
docs/**
- if: (steps.documentation-changed.outputs.any_changed == 'true')
run: python -m pip install --user matplotlib
- uses: julia-actions/setup-julia@v1
with:
version: "1"
- name: Build homepage
if: (steps.documentation-changed.outputs.any_changed == 'true')
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
if: (steps.documentation-changed.outputs.any_changed == 'true')
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
if: (steps.documentation-changed.outputs.any_changed == 'true')
run: |
cd docs
julia --project --color=yes -e '
using Pkg; Pkg.instantiate();
include("make.jl")'
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