diff --git a/.github/workflows/downstream.yml b/.github/workflows/downstream.yml new file mode 100644 index 000000000..df498171d --- /dev/null +++ b/.github/workflows/downstream.yml @@ -0,0 +1,43 @@ +name: Downstream +on: + push: + branches: + - main + tags: '*' + pull_request: + +# Needed to allow julia-actions/cache to delete old caches that it has created +permissions: + actions: write + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + test: + name: downstream ${{ matrix.package }} + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + package: + - 'ClimaAtmos.jl' + - 'ClimaCoupler.jl' + steps: + - uses: actions/checkout@v4 + - uses: julia-actions/setup-julia@v2 + with: + version: '1.10' + - uses: julia-actions/cache@v2 + - uses: julia-actions/julia-buildpkg@v1 + - uses: actions/checkout@v4 + with: + repository: 'CliMA/${{ matrix.package }}' + path: ${{ matrix.package }} + run: | + julia --color=yes --project=${{ matrix.package }} -e 'using Pkg; Pkg.instantiate()' + julia --color=yes --project=${{ matrix.package }} -e 'using Pkg; Pkg.develop(; path = ".")' + julia --color=yes --project=${{ matrix.package }} -e 'using Pkg; Pkg.test()' +