Support traits on return value and parameters #230
Workflow file for this run
This file contains 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: Dialects Docker CI | |
on: | |
push: | |
pull_request: | |
jobs: | |
build-and-test: | |
name: "Features: ${{ matrix.feature-set }}" | |
runs-on: ${{ matrix.host-os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
host-os: ["ubuntu-22.04"] | |
image-template: ["amdvlkadmin/amdvlk_%s%s:nightly"] | |
config: [Release] | |
feature-set: ["+gcc", "+gcc+assertions", | |
"+clang", | |
"+clang+ubsan+asan", | |
"+clang+ubsan+asan+assertions"] | |
steps: | |
- name: Free up disk space | |
if: contains(matrix.feature-set, '+ubsan') || contains(matrix.feature-set, '+asan') || contains(matrix.feature-set, '+tsan') || contains(matrix.feature-set, '+coverage') | |
run: | | |
echo 'Before:' && df -h | |
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/hostedtoolcache/boost /opt/ghc \ | |
/usr/lib/jvm /opt/hostedtoolcache/go /opt/hostedtoolcache/CodeQL /opt/az \ | |
/usr/share/swift /usr/local/.ghcup /usr/local/graalvm /usr/local/lib/node_modules | |
echo 'After:' && df -h | |
- name: Checkout dialects | |
run: | | |
git clone https://github.com/${GITHUB_REPOSITORY}.git . | |
git fetch origin +${GITHUB_SHA}:${GITHUB_REF} --update-head-ok | |
git checkout ${GITHUB_SHA} | |
- name: Generate Docker base image tag string | |
run: | | |
CONFIG_LOWER=$(echo "${{ matrix.config }}" | tr "[:upper:]" "[:lower:]") | |
FEATURES_LOWER=$(echo "${{ matrix.feature-set }}" | tr "+" "_") | |
TAG=$(printf "${{ matrix.image-template }}" "$CONFIG_LOWER" "$FEATURES_LOWER") | |
echo "IMAGE_TAG=$TAG" | tee -a $GITHUB_ENV | |
CONFIG_TAG=$(printf "%s%s" "$CONFIG_LOWER" "$FEATURES_LOWER") | |
echo "CONFIG_TAG=$CONFIG_TAG" | tee -a $GITHUB_ENV | |
- name: Fetch the latest prebuilt AMDVLK | |
run: docker pull "$IMAGE_TAG" | |
- name: Build and Test with Docker | |
run: docker build . --file docker/dialects.Dockerfile | |
--build-arg AMDVLK_IMAGE="$IMAGE_TAG" | |
--build-arg DIALECTS_REPO_NAME="${GITHUB_REPOSITORY}" | |
--build-arg DIALECTS_REPO_REF="${GITHUB_REF}" | |
--build-arg DIALECTS_REPO_SHA="${GITHUB_SHA}" | |
--build-arg FEATURES="${{ matrix.feature-set }}" | |
--tag dialects/ci-dialects |