From 237f926d5d0c2685cc4819842f744f2ba3e85f2d Mon Sep 17 00:00:00 2001 From: rafaqz Date: Tue, 19 Sep 2023 14:09:05 +0200 Subject: [PATCH 1/5] add ecosystem integration tests --- .github/workflows/Integrations.yml | 57 ++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 .github/workflows/Integrations.yml diff --git a/.github/workflows/Integrations.yml b/.github/workflows/Integrations.yml new file mode 100644 index 0000000..d798064 --- /dev/null +++ b/.github/workflows/Integrations.yml @@ -0,0 +1,57 @@ +name: IntegrationTest +on: + push: + branches: [master] + tags: [v*] + pull_request: + +jobs: + test: + name: ${{ matrix.package.repo }}/${{ matrix.package.group }}/${{ matrix.julia-version }} + runs-on: ${{ matrix.os }} + env: + GROUP: GDAL + strategy: + fail-fast: false + matrix: + julia-version: [1, 1.6] + os: [ubuntu-latest] + package: + - {user: yeesian, repo: ArchGDAL.jl, group: GDAL} + - {user: JuliaGeo, repo: GADM.jl, group: GDAL} + - {user: evetion, repo: GeoDataFrames.jl, group: GDAL} + - {user: rafaqz, repo: Rasters.jl, group: GDAL} + + steps: + - uses: actions/checkout@v4 + - uses: julia-actions/setup-julia@v1 + with: + version: ${{ matrix.julia-version }} + arch: x64 + - uses: julia-actions/julia-buildpkg@latest + - name: Clone Downstream + uses: actions/checkout@v4 + with: + repository: ${{ matrix.package.user }}/${{ matrix.package.repo }} + path: downstream + - name: Load this and run the downstream tests + shell: julia --color=yes --project=downstream {0} + run: | + using Pkg + try + # force it to use this PR's version of the package + Pkg.develop(PackageSpec(path=".")) # resolver may fail with main deps + Pkg.update() + Pkg.test(coverage=true) # resolver may fail with test time deps + catch err + err isa Pkg.Resolve.ResolverError || rethrow() + # If we can't resolve that means this is incompatible by SemVer and this is fine + # It means we marked this as a breaking change, so we don't need to worry about + # Mistakenly introducing a breaking change, as we have intentionally made one + @info "Not compatible with this release. No problem." exception=err + exit(0) # Exit immediately, as a success + end + - uses: julia-actions/julia-processcoverage@v1 + - uses: codecov/codecov-action@v3 + with: + file: lcov.info From 9cefd0aac2f2c3e4238156a1561424479b6874e3 Mon Sep 17 00:00:00 2001 From: rafaqz Date: Tue, 19 Sep 2023 15:06:45 +0200 Subject: [PATCH 2/5] remove other integrations file --- .github/workflows/IntegrationTest.yml | 54 --------------------------- 1 file changed, 54 deletions(-) delete mode 100644 .github/workflows/IntegrationTest.yml diff --git a/.github/workflows/IntegrationTest.yml b/.github/workflows/IntegrationTest.yml deleted file mode 100644 index aa4c562..0000000 --- a/.github/workflows/IntegrationTest.yml +++ /dev/null @@ -1,54 +0,0 @@ -name: IntegrationTest -on: - push: - branches: [master] - tags: [v*] - pull_request: - -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: ${{ matrix.package.repo }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - julia-version: [1] - os: [ubuntu-latest] - package: - - {user: yeesian, repo: ArchGDAL.jl} - - steps: - - uses: actions/checkout@v4 - - uses: julia-actions/setup-julia@v1 - with: - version: ${{ matrix.julia-version }} - arch: x64 - - uses: julia-actions/julia-buildpkg@v1 - - name: Clone Downstream - uses: actions/checkout@v4 - with: - repository: ${{ matrix.package.user }}/${{ matrix.package.repo }} - path: downstream - - name: Load this and run the downstream tests - shell: julia --project=downstream {0} - run: | - using Pkg - try - # Force downstream tests to use this PR's version of the package. - Pkg.develop(PackageSpec(path=".")) # resolver may fail with main deps - Pkg.update() - Pkg.test() # resolver may fail with test time deps - catch err - err isa Pkg.Resolve.ResolverError || rethrow() - # If we can't resolve that means this is incompatible by SemVer and this is fine; - # it means we marked this as a breaking change, so we don't need to worry about - # mistakenly introducing a breaking change, as we have intentionally made one - @info "Not compatible with this release. No problem." exception=err - exit(0) # Exit immediately as a success. - end From a17e61a6139451384dbd6a91d816a14385c7198a Mon Sep 17 00:00:00 2001 From: rafaqz Date: Tue, 19 Sep 2023 15:17:32 +0200 Subject: [PATCH 3/5] dummy CI bump --- .github/workflows/Integrations.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/Integrations.yml b/.github/workflows/Integrations.yml index d798064..0de6427 100644 --- a/.github/workflows/Integrations.yml +++ b/.github/workflows/Integrations.yml @@ -55,3 +55,4 @@ jobs: - uses: codecov/codecov-action@v3 with: file: lcov.info + From 949912d8f55183b7a009b6ad70f683c9d5d8ff68 Mon Sep 17 00:00:00 2001 From: rafaqz Date: Tue, 19 Sep 2023 15:22:47 +0200 Subject: [PATCH 4/5] fixes --- .github/workflows/Integrations.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/Integrations.yml b/.github/workflows/Integrations.yml index 0de6427..18a1aea 100644 --- a/.github/workflows/Integrations.yml +++ b/.github/workflows/Integrations.yml @@ -14,7 +14,7 @@ jobs: strategy: fail-fast: false matrix: - julia-version: [1, 1.6] + julia-version: [1] os: [ubuntu-latest] package: - {user: yeesian, repo: ArchGDAL.jl, group: GDAL} @@ -39,15 +39,15 @@ jobs: run: | using Pkg try - # force it to use this PR's version of the package + # Force downstream tests to use this PR's version of the package Pkg.develop(PackageSpec(path=".")) # resolver may fail with main deps Pkg.update() Pkg.test(coverage=true) # resolver may fail with test time deps catch err err isa Pkg.Resolve.ResolverError || rethrow() # If we can't resolve that means this is incompatible by SemVer and this is fine - # It means we marked this as a breaking change, so we don't need to worry about - # Mistakenly introducing a breaking change, as we have intentionally made one + # it means we marked this as a breaking change, so we don't need to worry about + # mistakenly introducing a breaking change, as we have intentionally made one @info "Not compatible with this release. No problem." exception=err exit(0) # Exit immediately, as a success end @@ -55,4 +55,3 @@ jobs: - uses: codecov/codecov-action@v3 with: file: lcov.info - From 50b47916eac47859efcc890106f87d2ee5ea184b Mon Sep 17 00:00:00 2001 From: Maarten Pronk <8655030+evetion@users.noreply.github.com> Date: Tue, 19 Sep 2023 15:43:14 +0200 Subject: [PATCH 5/5] Update .github/workflows/Integrations.yml Co-authored-by: Martijn Visser --- .github/workflows/Integrations.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Integrations.yml b/.github/workflows/Integrations.yml index 18a1aea..3b90de4 100644 --- a/.github/workflows/Integrations.yml +++ b/.github/workflows/Integrations.yml @@ -28,7 +28,7 @@ jobs: with: version: ${{ matrix.julia-version }} arch: x64 - - uses: julia-actions/julia-buildpkg@latest + - uses: julia-actions/julia-buildpkg@v1 - name: Clone Downstream uses: actions/checkout@v4 with: