Run tests #102
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: Run tests | |
on: | |
push: | |
schedule: | |
- cron: '0 2 * * *' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref != 'refs/heads/master' || github.run_number }} | |
cancel-in-progress: true | |
jobs: | |
job1: | |
name: "Get tutorials list" | |
runs-on: ubuntu-latest | |
outputs: | |
matrix: ${{ steps.set-matrix.outputs.matrix }} | |
steps: | |
- uses: actions/checkout@v4 | |
- id: set-matrix | |
run: | | |
echo "::set-output name=matrix::{\"node\":[$(python getter.py)]}" | |
job2: | |
needs: | |
- job1 | |
name: "Run tests" | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: ${{fromJSON(needs.job1.outputs.matrix)}} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: "Set up Julia" | |
uses: julia-actions/setup-julia@v1 | |
with: | |
version: '1.10' | |
- name: "Install Jupyter" | |
run: pip3 install notebook jupytext | |
- name: "Install julia pre-requisites" | |
run: | | |
julia -e ' | |
using Pkg | |
Pkg.add("IJulia") | |
Pkg.add("Oscar") | |
Pkg.add("BenchmarkTools") | |
Pkg.add("GraphRecipes") | |
Pkg.add("Graphs") | |
Pkg.add("Interact") | |
Pkg.add("Plots")' | |
- run: mkdir -pv notebooks | |
- name: Use default julia environment | |
run: | | |
cat ~/.local/share/jupyter/kernels/julia-1.10/kernel.json | sed 's/^.*project=.*$//' > ~/.local/share/jupyter/kernels/julia-1.10/kernel.json.new | |
mv -v ~/.local/share/jupyter/kernels/julia-1.10/kernel.json.new ~/.local/share/jupyter/kernels/julia-1.10/kernel.json | |
- run: python3 tester.py ${{ matrix.node }} | |
- name: Upload new notebook | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.node }} | |
path: notebooks/*.ipynb | |
retention-days: 7 | |
- name: Notify Slack Action | |
if: always() | |
uses: ravsamhq/[email protected] | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
status: ${{ job.status }} | |
message_format: "{emoji} *{job.name}* {status_message} in <{run_url}>" | |
#notify_when: 'failure' #now that things are fixed, fire a notification even on success, for testing. | |
env: | |
SLACK_WEBHOOK_URL: ${{ secrets.ACTION_MONITORING_SLACK }} | |