From 6fb37df618d9dd5086d900e63c39694121096fc6 Mon Sep 17 00:00:00 2001 From: mtfishman Date: Fri, 7 Feb 2025 18:03:56 -0500 Subject: [PATCH] CompatHelper with ITensorRegistry --- .github/workflows/CompatHelper.yml | 66 ++++++++++++++++++++++++++++++ .gitignore | 1 + 2 files changed, 67 insertions(+) create mode 100644 .github/workflows/CompatHelper.yml create mode 100644 .gitignore diff --git a/.github/workflows/CompatHelper.yml b/.github/workflows/CompatHelper.yml new file mode 100644 index 0000000..99f6711 --- /dev/null +++ b/.github/workflows/CompatHelper.yml @@ -0,0 +1,66 @@ +name: "Reusable CompatHelper Workflow" + +on: + workflow_call: + inputs: + julia-version: + description: "Julia version" + default: "1" + required: false + type: string + +jobs: + CompatHelper: + runs-on: ubuntu-latest + steps: + - name: Check if Julia is already available in the PATH + id: julia_in_path + run: which julia + continue-on-error: true + - name: Install Julia, but only if it is not already available in the PATH + uses: julia-actions/setup-julia@v2 + with: + version: "${{ inputs.julia-version }}" + arch: ${{ runner.arch }} + if: steps.julia_in_path.outcome != 'success' + - name: "Add the General registry via Git" + run: | + import Pkg + ENV["JULIA_PKG_SERVER"] = "" + Pkg.Registry.add("General") + shell: julia --color=yes {0} + - name: "Install CompatHelper" + run: | + import Pkg + name = "CompatHelper" + uuid = "aa819f21-2bde-4658-8897-bab36330d9b7" + version = "3" + Pkg.add(; name, uuid, version) + shell: julia --color=yes {0} + - name: "Run CompatHelper" + run: | + import CompatHelper + import Pkg + registries = [ + Pkg.RegistrySpec( + name = "General", + uuid = "23338594-aafe-5451-b93e-139f81909106", + url = "https://github.com/JuliaRegistries/General.git", + ), + Pkg.RegistrySpec( + name = "ITensorRegistry", + uuid = "c4d53e37-7e0e-4be9-ba6f-c27e01f48020", + url = "https://github.com/ITensor/ITensorRegistry.git", + ), + ] + CompatHelper.main(; registries) + shell: julia --color=yes {0} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # This repo uses Documenter, so we can reuse our [Documenter SSH key](https://documenter.juliadocs.org/stable/man/hosting/walkthrough/). + # If we didn't have one of those setup, we could configure a dedicated ssh deploy key `COMPATHELPER_PRIV` following https://juliaregistries.github.io/CompatHelper.jl/dev/#Creating-SSH-Key. + # Either way, we need an SSH key if we want the PRs that CompatHelper creates to be able to trigger CI workflows themselves. + # That is because GITHUB_TOKEN's can't trigger other workflows (see https://docs.github.com/en/actions/security-for-github-actions/security-guides/automatic-token-authentication#using-the-github_token-in-a-workflow). + # Check if you have a deploy key setup using these docs: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/reviewing-your-deploy-keys. + COMPATHELPER_PRIV: ${{ secrets.DOCUMENTER_KEY }} + # COMPATHELPER_PRIV: ${{ secrets.COMPATHELPER_PRIV }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a01ee28 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.*.swp