From c99fedfbe1789512b41514829ffbc169c46a82dd Mon Sep 17 00:00:00 2001 From: Anant Thazhemadam Date: Mon, 29 Apr 2024 19:21:34 +0530 Subject: [PATCH 1/5] ci: update invalidations workflow to use centralised reusable workflow --- .github/workflows/Invalidations.yml | 33 ++++------------------------- 1 file changed, 4 insertions(+), 29 deletions(-) diff --git a/.github/workflows/Invalidations.yml b/.github/workflows/Invalidations.yml index 66c86a3..34eb7a9 100644 --- a/.github/workflows/Invalidations.yml +++ b/.github/workflows/Invalidations.yml @@ -1,4 +1,4 @@ -name: Invalidations +name: "Invalidations" on: pull_request: @@ -10,31 +10,6 @@ concurrency: cancel-in-progress: true jobs: - evaluate: - # Only run on PRs to the default branch. - # In the PR trigger above branches can be specified only explicitly whereas this check should work for master, main, or any other default branch - if: github.base_ref == github.event.repository.default_branch - runs-on: ubuntu-latest - steps: - - uses: julia-actions/setup-julia@v2 - with: - version: '1' - - uses: actions/checkout@v4 - - uses: julia-actions/julia-buildpkg@v1 - - uses: julia-actions/julia-invalidations@v1 - id: invs_pr - - - uses: actions/checkout@v4 - with: - ref: ${{ github.event.repository.default_branch }} - - uses: julia-actions/julia-buildpkg@v1 - - uses: julia-actions/julia-invalidations@v1 - id: invs_default - - - name: Report invalidation counts - run: | - echo "Invalidations on default branch: ${{ steps.invs_default.outputs.total }} (${{ steps.invs_default.outputs.deps }} via deps)" >> $GITHUB_STEP_SUMMARY - echo "This branch: ${{ steps.invs_pr.outputs.total }} (${{ steps.invs_pr.outputs.deps }} via deps)" >> $GITHUB_STEP_SUMMARY - - name: Check if the PR does increase number of invalidations - if: steps.invs_pr.outputs.total > steps.invs_default.outputs.total - run: exit 1 + evaluate-invalidations: + name: "Evaluate Invalidations" + uses: "SciML/.github/.github/workflows/invalidations.yml@v1" From 2bf7573cf0e2d2c3880061a21baddeff2096b7eb Mon Sep 17 00:00:00 2001 From: Anant Thazhemadam Date: Mon, 29 Apr 2024 19:38:36 +0530 Subject: [PATCH 2/5] ci: update format check workflow to use centralised reusable workflow --- .github/workflows/FormatCheck.yml | 37 ++++--------------------------- 1 file changed, 4 insertions(+), 33 deletions(-) diff --git a/.github/workflows/FormatCheck.yml b/.github/workflows/FormatCheck.yml index 45bd09c..7e46c8d 100644 --- a/.github/workflows/FormatCheck.yml +++ b/.github/workflows/FormatCheck.yml @@ -1,42 +1,13 @@ -name: format-check +name: "Format Check" on: push: branches: - 'main' - - 'release-' tags: '*' pull_request: jobs: - build: - runs-on: ${{ matrix.os }} - strategy: - matrix: - julia-version: [1] - julia-arch: [x86] - os: [ubuntu-latest] - steps: - - uses: julia-actions/setup-julia@latest - with: - version: ${{ matrix.julia-version }} - - - uses: actions/checkout@v4 - - name: Install JuliaFormatter and format - # This will use the latest version by default but you can set the version like so: - # - # julia -e 'using Pkg; Pkg.add(PackageSpec(name="JuliaFormatter", version="0.13.0"))' - run: | - julia -e 'using Pkg; Pkg.add(PackageSpec(name="JuliaFormatter"))' - julia -e 'using JuliaFormatter; format(".", verbose=true)' - - name: Format check - run: | - julia -e ' - out = Cmd(`git diff --name-only`) |> read |> String - if out == "" - exit(0) - else - @error "Some files have not been formatted !!!" - write(stdout, out) - exit(1) - end' + format-check: + name: "Format Check" + uses: "SciML/.github/.github/workflows/format-check.yml@v1" From c7af25d2e24b1b6ff504e85bfb6e46129a9cf9a4 Mon Sep 17 00:00:00 2001 From: Anant Thazhemadam Date: Wed, 31 Jul 2024 23:38:09 +0200 Subject: [PATCH 3/5] ci: update documentation workflow to use centralised reusable workflow --- .github/workflows/CI.yml | 28 ---------------------------- .github/workflows/Documentation.yml | 18 ++++++++++++++++++ 2 files changed, 18 insertions(+), 28 deletions(-) create mode 100644 .github/workflows/Documentation.yml diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 6f50e18..7daf426 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -1,6 +1,4 @@ name: CI -env: - DATADEPS_ALWAYS_ACCEPT: true on: push: branches: '*' @@ -46,29 +44,3 @@ jobs: files: lcov.info token: ${{ secrets.CODECOV_TOKEN }} fail_ci_if_error: true - docs: - name: Documentation - runs-on: ubuntu-latest - permissions: - contents: write - steps: - - uses: actions/checkout@v4 - - uses: julia-actions/setup-julia@v2 - with: - version: '1' - - uses: julia-actions/julia-buildpkg@v1 - - uses: julia-actions/julia-docdeploy@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - run: | - julia --project=docs --code-coverage=user -e ' - using Documenter: DocMeta, doctest - using NeuralOperators - DocMeta.setdocmeta!(NeuralOperators, :DocTestSetup, :(using NeuralOperators); recursive=true) - doctest(NeuralOperators)' - - uses: julia-actions/julia-processcoverage@v1 - - uses: codecov/codecov-action@v4 - with: - file: lcov.info - token: ${{ secrets.CODECOV_TOKEN }} - fail_ci_if_error: true diff --git a/.github/workflows/Documentation.yml b/.github/workflows/Documentation.yml new file mode 100644 index 0000000..785116e --- /dev/null +++ b/.github/workflows/Documentation.yml @@ -0,0 +1,18 @@ +name: "Documentation" + +on: + push: + branches: + - main + tags: '*' + pull_request: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref_name != github.event.repository.default_branch || github.ref != 'refs/tags/v*' }} + +jobs: + build-and-deploy-docs: + name: "Documentation" + uses: "SciML/.github/.github/workflows/documentation.yml@v1" + secrets: "inherit" From 6c09677817860bb521a1c9c2792dd71075a6b726 Mon Sep 17 00:00:00 2001 From: Anant Thazhemadam Date: Wed, 31 Jul 2024 23:40:52 +0200 Subject: [PATCH 4/5] ci: update tests workflow to use centralized reusable workflow --- .github/workflows/CI.yml | 46 ------------------------------------- .github/workflows/Tests.yml | 39 +++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 46 deletions(-) delete mode 100644 .github/workflows/CI.yml create mode 100644 .github/workflows/Tests.yml diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml deleted file mode 100644 index 7daf426..0000000 --- a/.github/workflows/CI.yml +++ /dev/null @@ -1,46 +0,0 @@ -name: CI -on: - push: - branches: '*' - paths-ignore: - - 'docs/**' - tags: '*' - pull_request: - paths-ignore: - - 'docs/**' -concurrency: - # Skip intermediate builds: always. - # Cancel intermediate builds: only if it is a pull request build. - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} -jobs: - test: - name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - version: - - '1.6' - - '1' - # - 'nightly' - os: - - ubuntu-latest - - windows-latest - arch: - - x64 - steps: - - uses: actions/checkout@v4 - - uses: julia-actions/setup-julia@v2 - with: - version: ${{ matrix.version }} - arch: ${{ matrix.arch }} - - 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@v4 - with: - files: lcov.info - token: ${{ secrets.CODECOV_TOKEN }} - fail_ci_if_error: true diff --git a/.github/workflows/Tests.yml b/.github/workflows/Tests.yml new file mode 100644 index 0000000..9626a8d --- /dev/null +++ b/.github/workflows/Tests.yml @@ -0,0 +1,39 @@ +name: "Tests" + +on: + pull_request: + branches: + - main + - 'release-' + paths-ignore: + - 'docs/**' + push: + branches: + - main + paths-ignore: + - 'docs/**' + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref_name != github.event.repository.default_branch || github.ref != 'refs/tags/v*' }} + +env: + DATADEPS_ALWAYS_ACCEPT: true + +jobs: + tests: + name: "Tests" + strategy: + fail-fast: false + matrix: + version: + - "1" + - "lts" + os: + - "ubuntu-latest" + - "windows-latest" + uses: "SciML/.github/.github/workflows/tests.yml@v1" + with: + julia-version: "${{ matrix.version }}" + os: "${{ matrix.os }}" + secrets: "inherit" From db5593bb723f0d13d96a79c1063ee69156ce3393 Mon Sep 17 00:00:00 2001 From: Anant Thazhemadam Date: Wed, 31 Jul 2024 23:41:01 +0200 Subject: [PATCH 5/5] ci(format-check): automatically comment formatting suggestions on PRs --- .github/workflows/FormatCheck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/FormatCheck.yml b/.github/workflows/FormatCheck.yml index 7e46c8d..fe9c128 100644 --- a/.github/workflows/FormatCheck.yml +++ b/.github/workflows/FormatCheck.yml @@ -10,4 +10,4 @@ on: jobs: format-check: name: "Format Check" - uses: "SciML/.github/.github/workflows/format-check.yml@v1" + uses: "SciML/.github/.github/workflows/format-suggestions-on-pr.yml@v1"