diff --git a/.github/workflows/registry-consistency-ci-cron.yml b/.github/workflows/registry-consistency-ci-cron.yml new file mode 100644 index 000000000000000..aed5807e1f0a720 --- /dev/null +++ b/.github/workflows/registry-consistency-ci-cron.yml @@ -0,0 +1,61 @@ +name: Registry Consistency (Cron) +on: + schedule: + - cron: '0 0 * * *' + workflow_dispatch: +env: + JULIA_PKG_USE_CLI_GIT: true +permissions: + contents: read +jobs: + check: + runs-on: ${{ matrix.os }} + timeout-minutes: 30 + strategy: + fail-fast: false + matrix: + version: + # Keep this list in sync with `update_manifests.yml`. + # - '1.0' # RegistryCI currently doesn't support Julia 1.0 + # - '1.1' # RegistryCI currently doesn't support Julia 1.1 + # - '1.2' # RegistryCI currently doesn't support Julia 1.2 + - '1.3' + - '1.4' + - '1.5' + - '1.6' + - '1.7' + - '1.8' + - '1.9' + - '1.10' + - '1.11' + # - '1.12' # Uncomment this once Julia 1.12 is released + # - 'nightly' # TODO: uncomment this line + os: + - ubuntu-latest + arch: + - x64 + steps: + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 + - uses: julia-actions/setup-julia@9b79636afcfb07ab02c256cede01fe2db6ba808c # v2.6.0 + with: + version: ${{ matrix.version }} + arch: ${{ matrix.arch }} + - name: Cache artifacts and packages + uses: julia-actions/cache@824243901fb567ccb490b0d0e2483ccecde46834 # v2.0.5 + - run: write(ENV["GITHUB_OUTPUT"], "manifest_version=$(VERSION.major).$(VERSION.minor)") + shell: julia --color=yes --project=.ci/ {0} + id: manifest_version + - run: echo "The manifest is .ci/Manifest.${{ steps.manifest_version.outputs.manifest_version }}.toml" + - run: rm -rf .ci/Manifest.toml + - run: mv .ci/Manifest.${{ steps.manifest_version.outputs.manifest_version }}.toml .ci/Manifest.toml + - run: rm -rf .ci/Manifest.*.toml + - run: chmod 400 .ci/Project.toml + - run: chmod 400 .ci/Manifest.toml + if: ${{ matrix.version != 'nightly' }} + - run: julia --color=yes -e 'import Pkg; Pkg.Registry.add("General")' + env: + JULIA_PKG_SERVER: "" + - run: julia --color=yes -e 'import Pkg; Pkg.Registry.update()' + - run: .ci/instantiate.sh + - run: julia --color=yes --project=.ci/ -e 'import Pkg; Pkg.precompile()' + - run: julia --color=yes --project=.ci/ -e 'import RegistryCI; RegistryCI.test()' diff --git a/.github/workflows/registry-consistency-ci.yml b/.github/workflows/registry-consistency-ci.yml index b0dca8f73e7d67c..7cf3fff7b421cf4 100644 --- a/.github/workflows/registry-consistency-ci.yml +++ b/.github/workflows/registry-consistency-ci.yml @@ -19,11 +19,12 @@ jobs: fail-fast: false matrix: version: - # Keep this list in sync with `update_manifests.yml`. # - '1.0' # RegistryCI currently doesn't support Julia 1.0 # - '1.1' # RegistryCI currently doesn't support Julia 1.1 # - '1.2' # RegistryCI currently doesn't support Julia 1.2 - '1.3' + # We intentionally skip the following: 1.4, 1.5 + # But we include those when we run the once-daily cron job. - '1.6' - '1.7' - '1.8' diff --git a/.github/workflows/update_manifests.yml b/.github/workflows/update_manifests.yml index 1749d373b0b834a..ddc2d5276e75dc1 100644 --- a/.github/workflows/update_manifests.yml +++ b/.github/workflows/update_manifests.yml @@ -21,7 +21,7 @@ jobs: fail-fast: false matrix: version: - # Keep this list in sync with `ci.yml`. + # Keep this list in sync with `registry-consistency-ci-cron.yml`. - '1.3' - '1.4' - '1.5'