chore(ci): build channel from artifacts #944
Workflow file for this run
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
on: | |
push: | |
branches: | |
- "main" | |
pull_request: | |
name: Testsuite | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
PYTHONIOENCODING: utf-8 | |
SCCACHE_GHA_ENABLED: "true" | |
ACTIONS_CACHE_SERVICE_V2: on | |
jobs: | |
build-binary-linux-x86_64: | |
name: Build Ubuntu | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
steps: | |
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5 | |
- uses: prefix-dev/setup-pixi@main | |
with: | |
cache-write: ${{ github.event_name == 'push' && github.ref_name == 'main' }} | |
- name: Configure sccache | |
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 | |
with: | |
script: | | |
core.exportVariable('ACTIONS_RESULTS_URL', process.env.ACTIONS_RESULTS_URL || ''); | |
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); | |
- name: Build backends channel | |
run: pixi run -e build create-testsuite-channel | |
- name: Show sccache stats | |
run: pixi run -e build sccache --stop-server | |
- name: Upload executables as artifacts | |
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 | |
with: | |
name: pixi-build-backends-linux-x86_64 | |
path: artifacts-channel | |
if-no-files-found: error | |
retention-days: 60 | |
build-binary-windows-x86_64: | |
name: Build Windows | |
runs-on: windows-latest | |
timeout-minutes: 20 | |
steps: | |
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5 | |
- name: Create Dev Drive | |
run: ${{ github.workspace }}/.github/workflows/setup-dev-drive.ps1 | |
- name: Copy Git Repo to Dev Drive | |
run: | | |
Copy-Item -Path "${{ github.workspace }}" -Destination "${{ env.PIXI_WORKSPACE }}" -Recurse | |
- uses: prefix-dev/setup-pixi@main | |
with: | |
cache-write: ${{ github.event_name == 'push' && github.ref_name == 'main' }} | |
manifest-path: ${{ env.PIXI_WORKSPACE }}/pixi.toml | |
- name: Configure sccache | |
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 | |
with: | |
script: | | |
core.exportVariable('ACTIONS_RESULTS_URL', process.env.ACTIONS_RESULTS_URL || ''); | |
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); | |
- name: Enable long paths (Windows) | |
run: git config --global core.longpaths true | |
- name: Build backends channel | |
run: pixi run -e build create-testsuite-channel | |
working-directory: ${{ env.PIXI_WORKSPACE }} | |
- name: Show sccache stats | |
run: pixi run -e build sccache --stop-server | |
working-directory: ${{ env.PIXI_WORKSPACE }} | |
- name: Upload executables as artifacts | |
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 | |
with: | |
name: pixi-build-backends-windows-x86_64 | |
path: ${{ env.PIXI_WORKSPACE }}/artifacts-channel | |
if-no-files-found: error | |
retention-days: 60 | |
build-binary-macos-aarch64: | |
name: Build macOS | |
runs-on: macos-latest | |
timeout-minutes: 20 | |
steps: | |
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5 | |
- uses: prefix-dev/setup-pixi@main | |
with: | |
cache-write: ${{ github.event_name == 'push' && github.ref_name == 'main' }} | |
- name: Configure sccache | |
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 | |
with: | |
script: | | |
core.exportVariable('ACTIONS_RESULTS_URL', process.env.ACTIONS_RESULTS_URL || ''); | |
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); | |
- name: Build backends channel | |
run: pixi run -e build create-testsuite-channel | |
- name: Show sccache stats | |
run: pixi run -e build sccache --stop-server | |
- name: Upload executables as artifacts | |
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 | |
with: | |
name: pixi-build-backends-macos-aarch64 | |
path: artifacts-channel | |
if-no-files-found: error | |
retention-days: 60 | |
test-linux-x86_64: | |
name: Test Linux x86_64 | |
runs-on: ubuntu-latest | |
needs: build-binary-linux-x86_64 | |
timeout-minutes: 20 | |
steps: | |
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5 | |
with: | |
repository: prefix-dev/pixi-build-testsuite | |
- name: Set up pixi | |
uses: prefix-dev/setup-pixi@main | |
with: | |
cache: true | |
cache-write: ${{ github.event_name == 'push' && github.ref_name == 'main' }} | |
- name: Download pixi artifacts | |
run: pixi run download-artifacts --repo pixi | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Download pixi-build-backends artifacts | |
run: pixi run download-artifacts --repo pixi-build-backends --run-id ${{ github.run_id }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Setup binary permissions | |
run: chmod a+x artifacts/pixi* | |
- name: Run integration tests | |
run: pixi run --locked test-slow | |
env: | |
PIXI_BIN_DIR: ${{ github.workspace }}/artifacts | |
BUILD_BACKENDS_BIN_DIR: ${{ github.workspace }}/artifacts | |
test-windows-x86_64: | |
name: Test Windows x86_64 | |
runs-on: windows-latest | |
needs: build-binary-windows-x86_64 | |
timeout-minutes: 20 | |
steps: | |
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5 | |
with: | |
repository: prefix-dev/pixi-build-testsuite | |
- name: Create Dev Drive | |
run: ${{ github.workspace }}/.github/workflows/setup-dev-drive.ps1 | |
- name: Copy Git Repo to Dev Drive | |
run: Copy-Item -Path "${{ github.workspace }}" -Destination "${{ env.PIXI_WORKSPACE }}" -Recurse | |
- name: Set up pixi | |
uses: prefix-dev/setup-pixi@main | |
with: | |
manifest-path: ${{ env.PIXI_WORKSPACE }}/pixi.toml | |
cache: true | |
cache-write: ${{ github.event_name == 'push' && github.ref_name == 'main' }} | |
- name: Download pixi artifacts | |
working-directory: ${{ env.PIXI_WORKSPACE }} | |
run: pixi run download-artifacts --repo pixi | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Download pixi-build-backends artifacts | |
working-directory: ${{ env.PIXI_WORKSPACE }} | |
run: pixi run download-artifacts --repo pixi-build-backends --run-id ${{ github.run_id }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Run integration tests | |
run: pixi run --locked test-slow | |
working-directory: ${{ env.PIXI_WORKSPACE }} | |
env: | |
PIXI_BIN_DIR: ${{ env.PIXI_WORKSPACE }}/artifacts | |
BUILD_BACKENDS_BIN_DIR: ${{ env.PIXI_WORKSPACE }}/artifacts | |
test-macos-aarch64: | |
name: Test macOS aarch64 | |
runs-on: macos-14 | |
needs: build-binary-macos-aarch64 | |
timeout-minutes: 20 | |
steps: | |
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5 | |
with: | |
repository: prefix-dev/pixi-build-testsuite | |
- name: Set up pixi | |
uses: prefix-dev/setup-pixi@main | |
with: | |
cache: true | |
cache-write: ${{ github.event_name == 'push' && github.ref_name == 'main' }} | |
- name: Download pixi artifacts | |
run: pixi run download-artifacts --repo pixi | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Download pixi-build-backends artifacts | |
run: pixi run download-artifacts --repo pixi-build-backends --run-id ${{ github.run_id }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Setup binary permissions | |
run: chmod a+x artifacts/pixi* | |
- name: Run integration tests | |
run: pixi run --locked test-slow | |
env: | |
PIXI_BIN_DIR: ${{ github.workspace }}/artifacts | |
BUILD_BACKENDS_BIN_DIR: ${{ github.workspace }}/artifacts |