Skip to content

Create CHANGELOG.md #304

Create CHANGELOG.md

Create CHANGELOG.md #304

Workflow file for this run

name: Integration
on:
push:
branches:
- main
tags: "*"
pull_request:
workflow_dispatch:
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 }}
timeout-minutes: 60
permissions: # needed to allow julia-actions/cache to proactively delete old caches that it has created
actions: write
contents: read
strategy:
fail-fast: false
matrix:
version:
- "1"
os:
- ubuntu-latest
arch:
- x64
package:
- { user: PalmStudio, repo: XPalm.jl, branch: main, default: main }
- {
user: VEZY,
repo: PlantBioPhysics.jl,
branch: master,
default: master,
}
steps:
- uses: actions/checkout@v6
- uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- uses: julia-actions/julia-buildpkg@v1
- name: Clone Downstream
uses: actions/checkout@v6
with:
repository: ${{ matrix.package.user }}/${{ matrix.package.repo }}
ref: ${{matrix.package.branch}}
path: downstream
- name: Load this and run the downstream tests
shell: julia --threads 4 --color=yes --project=downstream --depwarn=yes {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() # 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 "Testing with an incompatible downstream release as a breaking change was introduced. Expected failure." exception=err
exit(0) # Exit immediately, as a success
end
- name: Only succeed if the checks pass on the dependencies' main/master branches
if: ${{ matrix.package.branch != matrix.package.default }}
run: |
echo "This action requires the downstream dependencies' branches to be set to their main/master to succeed. Please switch them back and ensure tests pass before merging"
exit 1
- uses: julia-actions/julia-processcoverage@v1
- uses: codecov/codecov-action@v5
with:
files: lcov.info