mirror of
https://github.com/dlang/dmd.git
synced 2025-04-26 05:00:16 +03:00
CI: Move some Cirrus CI jobs to GitHub Actions
This commit is contained in:
parent
59e224a2da
commit
f999f35810
2 changed files with 93 additions and 26 deletions
26
.cirrus.yml
26
.cirrus.yml
|
@ -64,24 +64,12 @@ linux_task:
|
||||||
timeout_in: 60m
|
timeout_in: 60m
|
||||||
environment:
|
environment:
|
||||||
matrix:
|
matrix:
|
||||||
- TASK_NAME_SUFFIX: x86, DMD (latest)
|
|
||||||
MODEL: 32
|
|
||||||
- TASK_NAME_SUFFIX: x86, DMD (coverage)
|
- TASK_NAME_SUFFIX: x86, DMD (coverage)
|
||||||
MODEL: 32
|
MODEL: 32
|
||||||
<< : *COVERAGE_ENVIRONMENT_TEMPLATE
|
<< : *COVERAGE_ENVIRONMENT_TEMPLATE
|
||||||
- TASK_NAME_SUFFIX: x86, DMD (bootstrap)
|
|
||||||
MODEL: 32
|
|
||||||
HOST_DMD: dmd-2.097.1
|
|
||||||
- TASK_NAME_SUFFIX: x64, DMD (latest)
|
|
||||||
# Enable this to replace coverage tests on CircleCI
|
# Enable this to replace coverage tests on CircleCI
|
||||||
# - TASK_NAME_SUFFIX: x64, DMD (coverage)
|
# - TASK_NAME_SUFFIX: x64, DMD (coverage)
|
||||||
# << : *COVERAGE_ENVIRONMENT_TEMPLATE
|
# << : *COVERAGE_ENVIRONMENT_TEMPLATE
|
||||||
- TASK_NAME_SUFFIX: x64, DMD (bootstrap)
|
|
||||||
HOST_DMD: dmd-2.079.0
|
|
||||||
- TASK_NAME_SUFFIX: x64, LDC
|
|
||||||
HOST_DC: ldc #TODO: Update to HOST_DMD when support for HOST_DC is removed
|
|
||||||
- TASK_NAME_SUFFIX: x64, GDC
|
|
||||||
HOST_DMD: gdmd-9
|
|
||||||
<< : *COMMON_STEPS_TEMPLATE
|
<< : *COMMON_STEPS_TEMPLATE
|
||||||
|
|
||||||
# Mac
|
# Mac
|
||||||
|
@ -95,23 +83,9 @@ macos13_task:
|
||||||
# override Cirrus default OS (`darwin`)
|
# override Cirrus default OS (`darwin`)
|
||||||
OS: osx
|
OS: osx
|
||||||
matrix:
|
matrix:
|
||||||
- TASK_NAME_SUFFIX: DMD (latest)
|
|
||||||
- TASK_NAME_SUFFIX: DMD (coverage)
|
- TASK_NAME_SUFFIX: DMD (coverage)
|
||||||
<< : *COVERAGE_ENVIRONMENT_TEMPLATE
|
<< : *COVERAGE_ENVIRONMENT_TEMPLATE
|
||||||
<< : *COMMON_STEPS_TEMPLATE
|
<< : *COMMON_STEPS_TEMPLATE
|
||||||
macos12_task:
|
|
||||||
name: macOS 12.x x64 (M1), DMD (bootstrap)
|
|
||||||
macos_instance:
|
|
||||||
image: ghcr.io/cirruslabs/macos-monterey-xcode:latest
|
|
||||||
timeout_in: 60m
|
|
||||||
environment:
|
|
||||||
OS_NAME: darwin
|
|
||||||
# override Cirrus default OS (`darwin`)
|
|
||||||
OS: osx
|
|
||||||
# de-facto bootstrap version on OSX
|
|
||||||
# See: https://github.com/dlang/dmd/pull/13890
|
|
||||||
HOST_DMD: dmd-2.099.1
|
|
||||||
<< : *COMMON_STEPS_TEMPLATE
|
|
||||||
|
|
||||||
# FreeBSD
|
# FreeBSD
|
||||||
freebsd13_task:
|
freebsd13_task:
|
||||||
|
|
93
.github/workflows/main.yml
vendored
Normal file
93
.github/workflows/main.yml
vendored
Normal file
|
@ -0,0 +1,93 @@
|
||||||
|
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions
|
||||||
|
|
||||||
|
name: Main
|
||||||
|
on:
|
||||||
|
- pull_request # without merge conflicts
|
||||||
|
- push # branch or tag
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
# Linux
|
||||||
|
- job_name: Ubuntu 22.04 x64, DMD (latest)
|
||||||
|
os: ubuntu-22.04
|
||||||
|
host_dmd: dmd
|
||||||
|
- job_name: Ubuntu 22.04 x64, DMD (bootstrap)
|
||||||
|
os: ubuntu-22.04
|
||||||
|
host_dmd: dmd-2.079.0
|
||||||
|
- job_name: Ubuntu 22.04 x86, DMD (latest)
|
||||||
|
os: ubuntu-22.04
|
||||||
|
model: 32
|
||||||
|
host_dmd: dmd
|
||||||
|
- job_name: Ubuntu 22.04 x86, DMD (bootstrap)
|
||||||
|
os: ubuntu-22.04
|
||||||
|
model: 32
|
||||||
|
host_dmd: dmd-2.097.1
|
||||||
|
- job_name: Ubuntu 22.04 x64, LDC
|
||||||
|
os: ubuntu-22.04
|
||||||
|
host_dmd: ldc
|
||||||
|
- job_name: Ubuntu 22.04 x64, GDC
|
||||||
|
os: ubuntu-22.04
|
||||||
|
host_dmd: gdmd-9
|
||||||
|
# macOS
|
||||||
|
- job_name: macOS 13 x64, DMD (latest)
|
||||||
|
os: macos-13
|
||||||
|
host_dmd: dmd
|
||||||
|
- job_name: macOS 12 x64, DMD (bootstrap)
|
||||||
|
os: macos-12
|
||||||
|
# de-facto bootstrap version on OSX
|
||||||
|
# See: https://github.com/dlang/dmd/pull/13890
|
||||||
|
host_dmd: dmd-2.099.1
|
||||||
|
name: ${{ matrix.job_name }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
timeout-minutes: 40
|
||||||
|
env:
|
||||||
|
# for ci/run.sh:
|
||||||
|
OS_NAME: ${{ startsWith(matrix.os, 'ubuntu') && 'linux' || (startsWith(matrix.os, 'macos') && 'darwin' || '') }}
|
||||||
|
MODEL: ${{ matrix.model || '64' }}
|
||||||
|
HOST_DMD: ${{ matrix.host_dmd }}
|
||||||
|
N: ${{ startsWith(matrix.os, 'macos') && '3' || '2' }}
|
||||||
|
FULL_BUILD: true
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 50
|
||||||
|
- name: Install prerequisites
|
||||||
|
run: ${{ runner.os == 'macOS' && 'ci/cirrusci.sh' || 'sudo -E ci/cirrusci.sh' }}
|
||||||
|
- name: Install host compiler
|
||||||
|
run: ci/run.sh install_host_compiler
|
||||||
|
- name: Set up repos
|
||||||
|
run: |
|
||||||
|
set -uexo pipefail
|
||||||
|
ln -s "$GITHUB_WORKSPACE" ../dmd
|
||||||
|
|
||||||
|
ref='${{ github.ref }}'
|
||||||
|
if [[ "$ref" =~ ^refs/pull/ ]]; then
|
||||||
|
# PR: clone the Phobos head with the same name as this DMD PR's target branch
|
||||||
|
# e.g., Phobos stable when targeting DMD stable
|
||||||
|
REPO_BRANCH="$GITHUB_BASE_REF"
|
||||||
|
elif [[ "$ref" =~ ^refs/(heads|tags)/(.*)$ ]]; then
|
||||||
|
# no PR: try to clone the Phobos head with the same name as this DMD head, falling back to master
|
||||||
|
# e.g., Phobos stable for a push to DMD stable, or Phobos v2.105.2 for DMD tag v2.105.2
|
||||||
|
REPO_BRANCH="${BASH_REMATCH[2]}"
|
||||||
|
else
|
||||||
|
echo "Error: unexpected GitHub ref '$ref'" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
./ci/run.sh setup_repos "$REPO_BRANCH"
|
||||||
|
- name: Build
|
||||||
|
run: ci/run.sh build
|
||||||
|
- name: Test dmd
|
||||||
|
run: ci/run.sh test_dmd
|
||||||
|
- name: Test druntime
|
||||||
|
run: ci/run.sh test_druntime
|
||||||
|
- name: Test phobos
|
||||||
|
run: ci/run.sh test_phobos
|
Loading…
Add table
Add a link
Reference in a new issue