diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 8204c9d..44c872e 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -1,24 +1,25 @@ +--- name: CI # Run on master, tags, or any pull request on: schedule: - - cron: '0 2 * * *' # Daily at 2 AM UTC (8 PM CST) + - cron: "0 2 * * *" # Daily at 2 AM UTC (8 PM CST) push: branches: [master] tags: ["*"] - pull_request: + pull_request: {} jobs: test: name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} runs-on: ${{ matrix.os }} + continue-on-error: ${{ matrix.version == 'nightly' }} strategy: fail-fast: false matrix: version: - - "1.0" # oldest supported version - - "1.6" # previous LTS release - - "lts" - - "1" # Latest Release + - "min" # Project's oldest supported version + - "lts" # Long-Term Stable + - "1" # Latest release os: - ubuntu-latest - macOS-latest @@ -28,9 +29,7 @@ jobs: exclude: # macOS default arch is ARM these days which requires Julia >= 1.8 - os: macOS-latest - version: "1.0" - - os: macOS-latest - version: "1.6" + version: "min" include: # Test 32-bit only on Linux - os: ubuntu-latest @@ -39,6 +38,9 @@ jobs: - os: ubuntu-latest arch: x86 version: "1" + - os: ubuntu-latest + arch: x64 + version: "nightly" steps: - uses: actions/checkout@v7 - uses: julia-actions/setup-julia@v3 @@ -53,22 +55,6 @@ jobs: with: token: ${{ secrets.CODECOV_TOKEN }} - slack: - name: Notify Slack Failure - needs: test - runs-on: ubuntu-slim - if: always() && github.event_name == 'schedule' - steps: - - uses: technote-space/workflow-conclusion-action@v2 - - uses: voxmedia/github-action-slack-notify-build@v1 - if: env.WORKFLOW_CONCLUSION == 'failure' - with: - channel: nightly-dev - status: FAILED - color: danger - env: - SLACK_BOT_TOKEN: ${{ secrets.DEV_SLACK_BOT_TOKEN }} - docs: name: Documentation runs-on: ubuntu-latest @@ -76,13 +62,15 @@ jobs: - uses: actions/checkout@v7 - uses: julia-actions/setup-julia@v3 with: - version: 'lts' - - run: | - julia --project=docs --color -e ' - using Pkg - Pkg.develop(PackageSpec(path=pwd())) - Pkg.instantiate() - include("docs/make.jl")' + version: "lts" + - name: Install dependencies + shell: julia --color=yes --project=docs {0} + run: | + using Pkg + Pkg.develop(PackageSpec(path=pwd())) + Pkg.instantiate() + - name: Make docs + run: julia --color=yes --project=docs docs/make.jl env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} diff --git a/.github/workflows/CompatHelper.yml b/.github/workflows/CompatHelper.yml index 53d939b..acf5827 100644 --- a/.github/workflows/CompatHelper.yml +++ b/.github/workflows/CompatHelper.yml @@ -1,16 +1,29 @@ +--- name: CompatHelper on: schedule: - - cron: '0 0 * * *' # Everyday at midnight - workflow_dispatch: + - cron: "0 0 * * *" # Everyday at midnight + workflow_dispatch: {} + pull_request: + paths: + - ".github/workflows/CompatHelper.yml" # Self-test when workflow changes jobs: CompatHelper: runs-on: ubuntu-slim steps: - - name: Pkg.add("CompatHelper") - run: julia -e 'using Pkg; Pkg.add("CompatHelper")' - - name: CompatHelper.main() + - uses: julia-actions/setup-julia@v3 + with: + version: "1" + - name: Install CompatHelper + shell: julia --color=yes --project=@compathelper {0} + run: | + using Pkg + Pkg.add("CompatHelper") + - name: Run CompatHelper + shell: julia --color=yes --project=@compathelper {0} + run: | + using CompatHelper + CompatHelper.main() env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} COMPATHELPER_PRIV: ${{ secrets.DOCUMENTER_KEY }} - run: julia -e 'using CompatHelper; CompatHelper.main()' diff --git a/.github/workflows/JuliaNightly.yml b/.github/workflows/JuliaNightly.yml deleted file mode 100644 index 3832d7b..0000000 --- a/.github/workflows/JuliaNightly.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: JuliaNightly -# Nightly Scheduled Julia Nightly Run -on: - schedule: - - cron: '0 2 * * *' # Daily at 2 AM UTC (8 PM CST) -jobs: - test: - name: Julia Nightly - Ubuntu - x64 - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v7 - - uses: julia-actions/setup-julia@v3 - with: - version: nightly - arch: x64 - - uses: julia-actions/cache@v2 - - uses: julia-actions/julia-buildpkg@v1 - - uses: julia-actions/julia-runtest@v1 - - uses: julia-actions/julia-processcoverage@v1 - - uses: codecov/codecov-action@v7 - with: - token: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/TagBot.yml b/.github/workflows/TagBot.yml index 8ecd363..1afe987 100644 --- a/.github/workflows/TagBot.yml +++ b/.github/workflows/TagBot.yml @@ -1,5 +1,5 @@ +--- name: TagBot - on: issue_comment: types: @@ -8,10 +8,9 @@ on: inputs: lookback: default: 3 - jobs: TagBot: - if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot' + if: ${{ github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot' }} runs-on: ubuntu-slim steps: - uses: JuliaRegistries/TagBot@v1 diff --git a/.github/workflows/blue_style_formatter.yml b/.github/workflows/blue_style_formatter.yml index df82fd4..7801841 100644 --- a/.github/workflows/blue_style_formatter.yml +++ b/.github/workflows/blue_style_formatter.yml @@ -1,8 +1,7 @@ +--- name: Format suggestions - on: - pull_request: - + pull_request: {} jobs: format: runs-on: ubuntu-slim @@ -11,9 +10,16 @@ jobs: - uses: julia-actions/setup-julia@v3 with: version: 1 - - run: | - julia -e 'using Pkg; Pkg.add("JuliaFormatter")' - julia -e 'using JuliaFormatter; format(".", BlueStyle(); verbose=true)' + - name: Install JuliaFormatter + shell: julia --color=yes --project=@format {0} + run: | + using Pkg + Pkg.add("JuliaFormatter") + - name: Format + shell: julia --color=yes --project=@format {0} + run: | + using JuliaFormatter + format(".", BlueStyle(); verbose=true) - uses: reviewdog/action-suggester@v1 with: tool_name: JuliaFormatter