Move glibc x86 Linux CI from CirrusCI to GitHub #2329
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: PR | |
on: pull_request | |
jobs: | |
superlinter: | |
name: Lint bash, docker, markdown, and yaml | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Lint codebase | |
uses: docker://github/super-linter:v3.8.3 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
VALIDATE_ALL_CODEBASE: true | |
VALIDATE_BASH: true | |
VALIDATE_DOCKERFILE: true | |
VALIDATE_MD: true | |
VALIDATE_YAML: true | |
validate-musl-docker-latest-image-builds: | |
name: Validate musl Docker image builds | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Docker build | |
run: "docker build --pull --file=.dockerfiles/latest/x86-64-unknown-linux-musl/Dockerfile ." | |
validate-gnu-docker-latest-image-builds: | |
name: Validate GNU Docker image builds | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Docker build | |
run: "docker build --pull --file=.dockerfiles/latest/x86-64-unknown-linux-gnu/Dockerfile ." | |
validate-windows-docker-latest-image-builds: | |
name: Validate Windows Docker image builds | |
runs-on: windows-2022 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Docker build | |
run: "docker build --pull .dockerfiles/latest/x86-64-pc-windows-msvc" | |
validate-musl-docker-release-image-builds: | |
name: Validate musl Docker release image builds | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Docker build | |
run: "docker build --pull --file=.dockerfiles/release/x86-64-unknown-linux-musl/Dockerfile ." | |
validate-gnu-docker-release-image-builds: | |
name: Validate GNU Docker release image builds | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Docker build | |
run: "docker build --pull --file=.dockerfiles/release/x86-64-unknown-linux-gnu/Dockerfile ." | |
validate-windows-docker-release-image-builds: | |
name: Validate Windows Docker release image builds | |
runs-on: windows-2022 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Docker build | |
run: "docker build --pull .dockerfiles/release/x86-64-pc-windows-msvc" | |
verify-changelog: | |
name: Verify CHANGELOG is valid | |
runs-on: ubuntu-latest | |
container: | |
image: ponylang/changelog-tool:release | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Verify CHANGELOG | |
run: changelog-tool verify | |
x86_64-linux: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
include: | |
- image: ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu22.04-builder:20230806 | |
name: x86-64 Linux glibc | |
name: ${{ matrix.name }} | |
container: | |
image: ${{ matrix.image }} | |
options: --user pony --cap-add=SYS_PTRACE --security-opt seccomp=unconfined | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Cache Libs | |
id: cache-libs | |
uses: actions/cache@v3 | |
with: | |
path: build/libs | |
key: libs-${{ matrix.image }}-${{ hashFiles('Makefile', 'CMakeLists.txt', 'libs/CMakeLists.txt') }} | |
- name: Build Libs | |
if: steps.cache-libs.outputs.cache-hit != 'true' | |
run: make libs build_flags=-j8 | |
- name: Configure Debug Runtime | |
run: make configure arch=x86-64 config=debug | |
- name: Build Debug Runtime | |
run: make build config=debug | |
- name: Test with Debug Runtime | |
run: make test-ci config=debug usedebugger='lldb' | |
- name: Configure Release Runtime | |
run: make configure arch=x86-64 config=release | |
- name: Build Release Runtime | |
run: make build config=release | |
- name: Test with Release Runtime | |
run: make test-ci config=release usedebugger='lldb' |