Skip to content

Commit

Permalink
Merge pull request #15618 from kinke/gha_freebsd
Browse files Browse the repository at this point in the history
CI: Move non-coverage FreeBSD Cirrus CI jobs to GitHub Actions
  • Loading branch information
ibuclaw committed Oct 28, 2023
2 parents abd7537 + b13052a commit a8fa992
Show file tree
Hide file tree
Showing 3 changed files with 89 additions and 18 deletions.
17 changes: 0 additions & 17 deletions .cirrus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,24 +63,7 @@ freebsd13_task:
OS_NAME: freebsd
CI_DFLAGS: -version=TARGET_FREEBSD13
matrix:
- TASK_NAME_TYPE: latest
- TASK_NAME_TYPE: coverage
<< : *COVERAGE_ENVIRONMENT_TEMPLATE
install_bash_script: pkg install -y bash
<< : *COMMON_STEPS_TEMPLATE

freebsd12_task:
name: FreeBSD 12.3 x64, DMD (bootstrap)
freebsd_instance:
image_family: freebsd-12-3
cpu: 4
memory: 8G
timeout_in: 60m
environment:
OS_NAME: freebsd
HOST_DMD: dmd-2.095.0
CI_DFLAGS: -version=TARGET_FREEBSD12
install_bash_script: |
sed -i '' -e 's|pkg.FreeBSD.org|mirrors.xtom.com/freebsd-pkg|' /etc/pkg/FreeBSD.conf
pkg install -y bash
<< : *COMMON_STEPS_TEMPLATE
86 changes: 86 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -115,3 +115,89 @@ jobs:
- name: Upload coverage report
if: matrix.coverage
run: ci/run.sh codecov

freebsd-vm:
strategy:
fail-fast: false
matrix:
include:
- job_name: FreeBSD 13.2 x64, DMD (latest)
freebsd_version: '13.2'
host_dmd: dmd
- job_name: FreeBSD 12.4 x64, DMD (bootstrap)
freebsd_version: '12.4'
host_dmd: dmd-2.095.0
name: ${{ matrix.job_name }}
runs-on: macos-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 50
- name: Run in VM
uses: cross-platform-actions/action@v0.21.0
with:
operating_system: freebsd
hypervisor: qemu
memory: 8G
sync_files: runner-to-vm
version: ${{ matrix.freebsd_version }}
shell: bash
run: |
set -uexo pipefail
freebsd_version='${{ matrix.freebsd_version }}'
freebsd_major="${freebsd_version:0:2}"
export OS_NAME=freebsd
export MODEL=64
export HOST_DMD='${{ matrix.host_dmd }}'
export N=3
export FULL_BUILD=true
export CI_DFLAGS="-version=TARGET_FREEBSD${freebsd_major}"
#if [[ "$freebsd_major" == 12 ]]; then
# sudo sed -i '' -e 's|pkg.FreeBSD.org|mirrors.xtom.com/freebsd-pkg|' /etc/pkg/FreeBSD.conf
#fi
bash --version
echo '::group::Install prerequisites'
sudo -E ci/cirrusci.sh
echo '::endgroup::'
echo '::group::Install host compiler'
ci/run.sh install_host_compiler
echo '::endgroup::'
echo '::group::Set up repos'
ln -s "$PWD" ../dmd
ref='${{ github.ref }}'
if [[ "$ref" =~ ^refs/pull/ ]]; then
REPO_BRANCH="$GITHUB_BASE_REF"
elif [[ "$ref" =~ ^refs/(heads|tags)/(.*)$ ]]; then
REPO_BRANCH="${BASH_REMATCH[2]}"
else
echo "Error: unexpected GitHub ref '$ref'" >&2
exit 1
fi
ci/run.sh setup_repos "$REPO_BRANCH"
echo '::endgroup::'
echo '::group::Build'
ci/run.sh build
echo '::endgroup::'
echo '::group::Test dmd'
ci/run.sh test_dmd
echo '::endgroup::'
echo '::group::Test druntime'
ci/run.sh test_druntime
echo '::endgroup::'
echo '::group::Test phobos'
ci/run.sh test_phobos
echo '::endgroup::'
4 changes: 3 additions & 1 deletion compiler/test/run.d
Original file line number Diff line number Diff line change
Expand Up @@ -427,7 +427,9 @@ Target[] predefinedTargets(string[] targets)
break;

case "all":
newTargets ~= createUnitTestTarget();
version (FreeBSD) { /* ??? unittest runner fails for no good reason on GHA. */ }
else
newTargets ~= createUnitTestTarget();
foreach (testDir; testDirs)
newTargets.put(findFiles(testDir).map!createTestTarget);
break;
Expand Down

0 comments on commit a8fa992

Please sign in to comment.