Skip to content

Commit

Permalink
Github Actions Fixes (#947)
Browse files Browse the repository at this point in the history
* Go back to using julia-test

* Parallelize github actions

* version bumps

* Fix job naming
  • Loading branch information
jeremiahpslewis authored Aug 5, 2023
1 parent 5db57bb commit 3d97a4f
Show file tree
Hide file tree
Showing 6 changed files with 156 additions and 57 deletions.
27 changes: 6 additions & 21 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,10 @@ steps:
plugins:
- JuliaCI/julia#v1:
version: "1"
- JuliaCI/julia-test#v1:
project: ./src/ReinforcementLearningCore
- JuliaCI/julia-coverage#v1:
codecov: true
commands:
- cd src
- julia --project=. -e 'using Pkg; Pkg.develop(path="ReinforcementLearningBase")'
- julia --project=. -e 'using Pkg; Pkg.develop(path="ReinforcementLearningCore")'
- julia --project=. -e 'using Pkg; Pkg.develop(path="ReinforcementLearningEnvironments")'
- julia --project=. -e 'using Pkg; Pkg.test("ReinforcementLearningCore", coverage=true)'
agents:
queue: "juliagpu"
cuda: "*"
Expand All @@ -23,15 +19,10 @@ steps:
plugins:
- JuliaCI/julia#v1:
version: "1"
- JuliaCI/julia-test#v1:
project: ./src/ReinforcementLearningZoo
- JuliaCI/julia-coverage#v1:
codecov: true
commands:
- cd src
- julia --project=. -e 'using Pkg; Pkg.develop(path="ReinforcementLearningBase")'
- julia --project=. -e 'using Pkg; Pkg.develop(path="ReinforcementLearningCore")'
- julia --project=. -e 'using Pkg; Pkg.develop(path="ReinforcementLearningEnvironments")'
- julia --project=. -e 'using Pkg; Pkg.develop(path="ReinforcementLearningZoo")'
- julia --project=. -e 'using Pkg; Pkg.test("ReinforcementLearningZoo", coverage=true)'
agents:
queue: "juliagpu"
cuda: "*"
Expand All @@ -41,16 +32,10 @@ steps:
plugins:
- JuliaCI/julia#v1:
version: "1"
- JuliaCI/julia-test#v1:
project: ./src/ReinforcementLearningZoo
- JuliaCI/julia-coverage#v1:
codecov: true
commands:
- cd src
- julia --project=. -e 'using Pkg; Pkg.develop(path="ReinforcementLearningBase")'
- julia --project=. -e 'using Pkg; Pkg.develop(path="ReinforcementLearningCore")'
- julia --project=. -e 'using Pkg; Pkg.develop(path="ReinforcementLearningEnvironments")'
- julia --project=. -e 'using Pkg; Pkg.develop(path="ReinforcementLearningZoo")'
- julia --project=. -e 'using Pkg; Pkg.develop(path="ReinforcementLearningExperiments")'
- julia --project=. -e 'using Pkg; Pkg.test("ReinforcementLearningExperiments", coverage=true)'
agents:
queue: "juliagpu"
cuda: "*"
Expand Down
178 changes: 146 additions & 32 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ on:
tags: "*"
workflow_dispatch:
jobs:
test:
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
test-RLBase:
name: RLBase - Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
Expand Down Expand Up @@ -48,14 +48,12 @@ jobs:
${{ 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: |
Expand All @@ -65,16 +63,48 @@ jobs:
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.RLBase-changed.outputs.any_changed == 'true') || (steps.RLCore-changed.outputs.any_changed == 'true') || (contains(github.event.pull_request.labels.*.name, 'Integration Test'))
if: (steps.RLCore-changed.outputs.any_changed == 'true') || (contains(github.event.pull_request.labels.*.name, 'Integration Test'))
run: |
julia --color=yes -e '
using Pkg;
Expand All @@ -84,16 +114,49 @@ jobs:
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.RLBase-changed.outputs.any_changed == 'true') || (steps.RLCore-changed.outputs.any_changed == 'true') || (steps.RLZoo-changed.outputs.any_changed == 'true') || (contains(github.event.pull_request.labels.*.name, 'Integration Test'))
if: (steps.RLZoo-changed.outputs.any_changed == 'true') || (contains(github.event.pull_request.labels.*.name, 'Integration Test'))
run: |
julia --color=yes -e '
using Pkg;
Expand All @@ -104,16 +167,50 @@ jobs:
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.RLBase-changed.outputs.any_changed == 'true') || (steps.RLCore-changed.outputs.any_changed == 'true') || (steps.RLEnvironments-changed.outputs.any_changed == 'true') || (contains(github.event.pull_request.labels.*.name, 'Integration Test'))
if: (steps.RLEnvironments-changed.outputs.any_changed == 'true') || (contains(github.event.pull_request.labels.*.name, 'Integration Test'))
env:
PYTHON: ""
run: |
Expand All @@ -125,33 +222,51 @@ jobs:
Pkg.test("ReinforcementLearningEnvironments", coverage=true)'
- uses: julia-actions/julia-processcoverage@v1
- uses: codecov/codecov-action@v3

- name: Get changed files
id: RLDatasets-changed
uses: tj-actions/changed-files@v35
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:
files: |
src/ReinforcementLearningDatasets/**
# - name: Test RLDatasets
# if: (steps.RLDatasets-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/ReinforcementLearningDatasets")
# Pkg.test("ReinforcementLearningDatasets", coverage=true)'
# - uses: julia-actions/julia-processcoverage@v1
# - uses: codecov/codecov-action@v3
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.RLBase-changed.outputs.any_changed == 'true') || (steps.RLCore-changed.outputs.any_changed == 'true') || (steps.RLZoo-changed.outputs.any_changed == 'true') || (steps.RLExperiments-changed.outputs.any_changed == 'true') || (contains(github.event.pull_request.labels.*.name, 'Integration Test'))
if: (steps.RLExperiments-changed.outputs.any_changed == 'true') || (contains(github.event.pull_request.labels.*.name, 'Integration Test'))
run: |
julia --color=yes -e '
using Pkg
Expand All @@ -164,7 +279,6 @@ jobs:
Pkg.test("ReinforcementLearningExperiments", coverage=true)'
- uses: julia-actions/julia-processcoverage@v1
- uses: codecov/codecov-action@v3

docs:
name: Documentation
runs-on: ubuntu-latest
Expand Down
2 changes: 1 addition & 1 deletion src/ReinforcementLearningBase/Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "ReinforcementLearningBase"
uuid = "e575027e-6cd6-5018-9292-cdc6200d2b44"
authors = ["Johanni Brea <[email protected]>", "Jun Tian <[email protected]>"]
version = "0.12.0"
version = "0.12.1"

[deps]
AbstractTrees = "1520ce14-60c1-5f80-bbc7-55ef81b5835c"
Expand Down
2 changes: 1 addition & 1 deletion src/ReinforcementLearningCore/Project.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name = "ReinforcementLearningCore"
uuid = "de1b191a-4ae0-4afa-a27b-92d07f46b2d6"
version = "0.12.0"
version = "0.12.1"

[deps]
AbstractTrees = "1520ce14-60c1-5f80-bbc7-55ef81b5835c"
Expand Down
2 changes: 1 addition & 1 deletion src/ReinforcementLearningEnvironments/Project.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name = "ReinforcementLearningEnvironments"
uuid = "25e41dd2-4622-11e9-1641-f1adca772921"
version = "0.8.3"
version = "0.8.4"

[deps]
CommonRLInterface = "d842c3ba-07a1-494f-bbec-f5741b0a3e98"
Expand Down
2 changes: 1 addition & 1 deletion src/ReinforcementLearningExperiments/Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "ReinforcementLearningExperiments"
uuid = "6bd458e5-1694-412f-b601-3a888375c491"
authors = ["Jun Tian <[email protected]>"]
version = "0.3.3"
version = "0.3.4"

[deps]
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
Expand Down

0 comments on commit 3d97a4f

Please sign in to comment.