integrate the SAT-based resolver into Pkg #5007
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Run tests | |
on: | |
pull_request: | |
branches: | |
- 'master' | |
- 'release-*' | |
- 'backports-release-*' | |
push: | |
branches: | |
- 'master' | |
- 'release-*' | |
- 'backports-release-*' | |
tags: '*' | |
defaults: | |
run: | |
shell: bash | |
concurrency: | |
# Skip intermediate builds: all builds except for builds on the `master` or `release-*` branches | |
# Cancel intermediate builds: only pull request builds | |
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref != 'refs/heads/master' || startsWith(github.ref, 'refs/heads/release-') || github.run_number }} | |
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} | |
jobs: | |
test: | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 70 | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-latest | |
- macOS-14 # arm | |
- windows-latest | |
julia-arch: | |
- 'x64' | |
- 'x86' | |
- 'aarch64' | |
pkg-server: | |
- "pkg.julialang.org" # Default to this for all except specific cases | |
julia-version: | |
- 'nightly' | |
exclude: | |
- os: ubuntu-latest | |
julia-arch: aarch64 | |
- os: windows-latest | |
julia-arch: aarch64 | |
- os: macOS-14 | |
julia-arch: x86 | |
- os: macOS-14 | |
julia-arch: x64 | |
include: | |
- os: ubuntu-latest | |
julia-arch: 'x64' | |
julia-version: 'nightly' | |
pkg-server: "" | |
- os: ubuntu-latest | |
julia-arch: 'x64' | |
julia-version: 'nightly' | |
pkg-server: "pkg.julialang.org" | |
- os: ubuntu-latest | |
julia-arch: 'x64' | |
julia-version: 'nightly' | |
pkg-server: "pkg.julialang.org" | |
resolver: "maxsum" | |
steps: | |
- name: Set git to use LF and fix TEMP on windows | |
if: matrix.os == 'windows-latest' | |
run: | | |
git config --global core.autocrlf false | |
git config --global core.eol lf | |
# See https://github.com/actions/virtual-environments/issues/712 | |
echo "TMP=${USERPROFILE}\AppData\Local\Temp" >> ${GITHUB_ENV} | |
echo "TEMP=${USERPROFILE}\AppData\Local\Temp" >> ${GITHUB_ENV} | |
- uses: actions/checkout@v4 | |
- uses: julia-actions/setup-julia@v2 | |
with: | |
version: ${{ matrix.julia-version }} | |
arch: ${{ matrix.julia-arch }} | |
# We cannot use the Pkg getting tested to install the SAT-resolver since that is | |
# needed by Pkg itself | |
- name: Install deps | |
run: julia -e 'using Pkg; Pkg.activate("."); Pkg.instantiate()' | |
- uses: julia-actions/julia-runtest@v1 | |
with: | |
coverage: true | |
env: | |
JULIA_PKG_SERVER: ${{ matrix.pkg-server }} | |
JULIA_TEST_VERBOSE_LOGS_DIR: ${{ github.workspace }} | |
JULIA_PKG_RESOLVER: ${{ matrix.resolver || 'sat' }} | |
JULIA_PKG_RESOLVER_ALLOW_FALLBACK: false | |
- uses: actions/upload-artifact@v4 | |
if: ${{ always() }} | |
with: | |
name: ${{ join(matrix.*, '-') }}_Pkg.log | |
path: ${{ github.workspace }}/Pkg.log | |
- uses: julia-actions/julia-processcoverage@v1 | |
env: | |
JULIA_PKG_SERVER: ${{ matrix.pkg-server }} | |
- uses: codecov/codecov-action@v5 | |
with: | |
files: lcov.info | |
token: ${{ secrets.CODECOV_TOKEN }} | |
docs: | |
runs-on: ubuntu-latest | |
timeout-minutes: 60 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: julia-actions/setup-julia@v2 | |
with: | |
# version: '1.6' | |
version: 'nightly' | |
- name: Generate docs | |
run: | | |
julia --color=yes -e 'using Pkg; Pkg.activate("docs"); Pkg.instantiate();' | |
julia --project=docs --color=yes docs/make.jl pdf | |
env: | |
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} |