Include all architectures in a single release #65
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
# Do not edit this file. It is generated from dotnet.yml.j2. | |
on: | |
push: | |
branches: | |
- main | |
tags: | |
- 'v*' | |
pull_request: | |
jobs: | |
runtime: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
# TODO: aspnetcore build fails on x64 with: | |
# EXEC : error : Failed to load assembly 'System.Private.CoreLib' | |
arch: [ppc64le, s390x] | |
container: | |
image: ghcr.io/ibm/dotnet-${{ matrix.arch }}-toolchain:latest | |
credentials: | |
username: ${{ secrets.GHCR_USERNAME }} | |
password: ${{ secrets.GHCR_PASSWORD }} | |
# Workaround for the following: | |
# fatal: detected dubious ownership in repository at '/__w/dotnet-s390x/dotnet-s390x' | |
options: --user root | |
steps: | |
- name: Configure git | |
run: git config --global user.email [email protected] && | |
git config --global user.name "dotnet-s390x bot" | |
- name: Checkout | |
uses: actions/checkout@v1 # Newer versions are not compatible with Ubuntu 18.04 | |
- name: Fix the repository ownership | |
run: chown -R "$(id -u):$(id -g)" . | |
- name: Prepare | |
run: ./dotnet-prepare runtime | |
- name: Build | |
run: ARCH=${{ matrix.arch }} ./dotnet-build runtime | |
- name: Upload the intermediate results | |
uses: actions/upload-artifact@v3 # Newer versions are not compatible with Ubuntu 18.04 | |
with: | |
name: runtime-${{ matrix.arch }} | |
path: | | |
local-downloads/ | |
local-packages/ | |
output/ | |
msbuild: | |
needs: runtime | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
# TODO: aspnetcore build fails on x64 with: | |
# EXEC : error : Failed to load assembly 'System.Private.CoreLib' | |
arch: [ppc64le, s390x] | |
container: | |
image: ghcr.io/ibm/dotnet-${{ matrix.arch }}-toolchain:latest | |
credentials: | |
username: ${{ secrets.GHCR_USERNAME }} | |
password: ${{ secrets.GHCR_PASSWORD }} | |
# Workaround for the following: | |
# fatal: detected dubious ownership in repository at '/__w/dotnet-s390x/dotnet-s390x' | |
options: --user root | |
steps: | |
- name: Configure git | |
run: git config --global user.email [email protected] && | |
git config --global user.name "dotnet-s390x bot" | |
- name: Checkout | |
uses: actions/checkout@v1 # Newer versions are not compatible with Ubuntu 18.04 | |
- name: Fix the repository ownership | |
run: chown -R "$(id -u):$(id -g)" . | |
- name: Download the previous stage's artifacts | |
uses: actions/download-artifact@v3 # Newer versions are not compatible with Ubuntu 18.04 | |
with: | |
name: runtime-${{ matrix.arch }} | |
- name: Prepare | |
run: ./dotnet-prepare msbuild | |
- name: Build | |
run: ARCH=${{ matrix.arch }} ./dotnet-build msbuild | |
- name: Upload the intermediate results | |
uses: actions/upload-artifact@v3 # Newer versions are not compatible with Ubuntu 18.04 | |
with: | |
name: msbuild-${{ matrix.arch }} | |
path: | | |
local-downloads/ | |
local-packages/ | |
output/ | |
roslyn: | |
needs: msbuild | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
# TODO: aspnetcore build fails on x64 with: | |
# EXEC : error : Failed to load assembly 'System.Private.CoreLib' | |
arch: [ppc64le, s390x] | |
container: | |
image: ghcr.io/ibm/dotnet-${{ matrix.arch }}-toolchain:latest | |
credentials: | |
username: ${{ secrets.GHCR_USERNAME }} | |
password: ${{ secrets.GHCR_PASSWORD }} | |
# Workaround for the following: | |
# fatal: detected dubious ownership in repository at '/__w/dotnet-s390x/dotnet-s390x' | |
options: --user root | |
steps: | |
- name: Configure git | |
run: git config --global user.email [email protected] && | |
git config --global user.name "dotnet-s390x bot" | |
- name: Checkout | |
uses: actions/checkout@v1 # Newer versions are not compatible with Ubuntu 18.04 | |
- name: Fix the repository ownership | |
run: chown -R "$(id -u):$(id -g)" . | |
- name: Download the previous stage's artifacts | |
uses: actions/download-artifact@v3 # Newer versions are not compatible with Ubuntu 18.04 | |
with: | |
name: msbuild-${{ matrix.arch }} | |
- name: Prepare | |
run: ./dotnet-prepare roslyn | |
- name: Build | |
run: ARCH=${{ matrix.arch }} ./dotnet-build roslyn | |
- name: Upload the intermediate results | |
uses: actions/upload-artifact@v3 # Newer versions are not compatible with Ubuntu 18.04 | |
with: | |
name: roslyn-${{ matrix.arch }} | |
path: | | |
local-downloads/ | |
local-packages/ | |
output/ | |
sdk: | |
needs: roslyn | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
# TODO: aspnetcore build fails on x64 with: | |
# EXEC : error : Failed to load assembly 'System.Private.CoreLib' | |
arch: [ppc64le, s390x] | |
container: | |
image: ghcr.io/ibm/dotnet-${{ matrix.arch }}-toolchain:latest | |
credentials: | |
username: ${{ secrets.GHCR_USERNAME }} | |
password: ${{ secrets.GHCR_PASSWORD }} | |
# Workaround for the following: | |
# fatal: detected dubious ownership in repository at '/__w/dotnet-s390x/dotnet-s390x' | |
options: --user root | |
steps: | |
- name: Configure git | |
run: git config --global user.email [email protected] && | |
git config --global user.name "dotnet-s390x bot" | |
- name: Checkout | |
uses: actions/checkout@v1 # Newer versions are not compatible with Ubuntu 18.04 | |
- name: Fix the repository ownership | |
run: chown -R "$(id -u):$(id -g)" . | |
- name: Download the previous stage's artifacts | |
uses: actions/download-artifact@v3 # Newer versions are not compatible with Ubuntu 18.04 | |
with: | |
name: roslyn-${{ matrix.arch }} | |
- name: Prepare | |
run: ./dotnet-prepare sdk | |
- name: Build | |
run: ARCH=${{ matrix.arch }} ./dotnet-build sdk | |
- name: Upload the intermediate results | |
uses: actions/upload-artifact@v3 # Newer versions are not compatible with Ubuntu 18.04 | |
with: | |
name: sdk-${{ matrix.arch }} | |
path: | | |
local-downloads/ | |
local-packages/ | |
output/ | |
aspnetcore: | |
needs: sdk | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
# TODO: aspnetcore build fails on x64 with: | |
# EXEC : error : Failed to load assembly 'System.Private.CoreLib' | |
arch: [ppc64le, s390x] | |
container: | |
image: ghcr.io/ibm/dotnet-${{ matrix.arch }}-toolchain:latest | |
credentials: | |
username: ${{ secrets.GHCR_USERNAME }} | |
password: ${{ secrets.GHCR_PASSWORD }} | |
# Workaround for the following: | |
# fatal: detected dubious ownership in repository at '/__w/dotnet-s390x/dotnet-s390x' | |
options: --user root | |
steps: | |
- name: Configure git | |
run: git config --global user.email [email protected] && | |
git config --global user.name "dotnet-s390x bot" | |
- name: Checkout | |
uses: actions/checkout@v1 # Newer versions are not compatible with Ubuntu 18.04 | |
- name: Fix the repository ownership | |
run: chown -R "$(id -u):$(id -g)" . | |
- name: Download the previous stage's artifacts | |
uses: actions/download-artifact@v3 # Newer versions are not compatible with Ubuntu 18.04 | |
with: | |
name: sdk-${{ matrix.arch }} | |
- name: Prepare | |
run: ./dotnet-prepare aspnetcore | |
- name: Build | |
run: ARCH=${{ matrix.arch }} ./dotnet-build aspnetcore | |
- name: Upload the intermediate results | |
uses: actions/upload-artifact@v3 # Newer versions are not compatible with Ubuntu 18.04 | |
with: | |
name: aspnetcore-${{ matrix.arch }} | |
path: | | |
local-downloads/ | |
local-packages/ | |
output/ | |
installer: | |
needs: aspnetcore | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
# TODO: aspnetcore build fails on x64 with: | |
# EXEC : error : Failed to load assembly 'System.Private.CoreLib' | |
arch: [ppc64le, s390x] | |
container: | |
image: ghcr.io/ibm/dotnet-${{ matrix.arch }}-toolchain:latest | |
credentials: | |
username: ${{ secrets.GHCR_USERNAME }} | |
password: ${{ secrets.GHCR_PASSWORD }} | |
# Workaround for the following: | |
# fatal: detected dubious ownership in repository at '/__w/dotnet-s390x/dotnet-s390x' | |
options: --user root | |
steps: | |
- name: Configure git | |
run: git config --global user.email [email protected] && | |
git config --global user.name "dotnet-s390x bot" | |
- name: Checkout | |
uses: actions/checkout@v1 # Newer versions are not compatible with Ubuntu 18.04 | |
- name: Fix the repository ownership | |
run: chown -R "$(id -u):$(id -g)" . | |
- name: Download the previous stage's artifacts | |
uses: actions/download-artifact@v3 # Newer versions are not compatible with Ubuntu 18.04 | |
with: | |
name: aspnetcore-${{ matrix.arch }} | |
- name: Prepare | |
run: ./dotnet-prepare installer | |
- name: Build | |
run: ARCH=${{ matrix.arch }} ./dotnet-build installer | |
- name: Upload the intermediate results | |
uses: actions/upload-artifact@v3 # Newer versions are not compatible with Ubuntu 18.04 | |
with: | |
name: installer-${{ matrix.arch }} | |
path: | | |
# Use a dummy file to preserve the directory structure. | |
# See https://github.com/actions/upload-artifact/issues/174 for details. | |
dotnet-versions | |
output/ | |
release: | |
needs: installer | |
runs-on: ubuntu-latest | |
if: ${{ github.event_name == 'push' && github.ref_type == 'tag' }} | |
container: | |
image: ghcr.io/ibm/dotnet-${{ matrix.arch }}-toolchain:latest | |
credentials: | |
username: ${{ secrets.GHCR_USERNAME }} | |
password: ${{ secrets.GHCR_PASSWORD }} | |
# Workaround for the following: | |
# fatal: detected dubious ownership in repository at '/__w/dotnet-s390x/dotnet-s390x' | |
options: --user root | |
steps: | |
- name: Configure git | |
run: git config --global user.email [email protected] && | |
git config --global user.name "dotnet-s390x bot" | |
- name: Checkout | |
uses: actions/checkout@v1 # Newer versions are not compatible with Ubuntu 18.04 | |
- name: Fix the repository ownership | |
run: chown -R "$(id -u):$(id -g)" . | |
- name: Download the ppc64le installer artifacts | |
uses: actions/download-artifact@v3 # Newer versions are not compatible with Ubuntu 18.04 | |
with: | |
name: installer-ppc64le | |
- name: Download the s390x installer artifacts | |
uses: actions/download-artifact@v3 # Newer versions are not compatible with Ubuntu 18.04 | |
with: | |
name: installer-s390x | |
- name: Create a release | |
run: gh release create --notes "" "${{ github.ref_name }}" output/* | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |