Try fixing Windows arm64 #87
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: CI | |
on: | |
pull_request: | |
branches: [ master ] | |
workflow_dispatch: | |
inputs: | |
version: | |
description: 'Release version to create' | |
required: true | |
jobs: | |
build_and_test: | |
strategy: | |
matrix: | |
include: | |
- vm: ubuntu-latest | |
# - vm: windows-latest | |
runs-on: ${{ matrix.vm }} | |
name: Build and test ${{ matrix.vm }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v2 | |
- name: Setup dotnet | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: '8.0.x' | |
dotnet-quality: 'preview' | |
- name: Ask Github to please let us use the package registry | |
run: | | |
cd src/bflat | |
dotnet nuget add source --username USERNAME --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text --name github "https://nuget.pkg.github.com/bflattened/index.json" | |
- name: Build (CI) | |
if: ${{ github.event.inputs.version == '' }} | |
run: dotnet build src/bflat/bflat.csproj -t:BuildLayouts -c:Release | |
- name: Build (CD) | |
if: ${{ github.event.inputs.version != '' }} | |
run: dotnet build src/bflat/bflat.csproj -t:BuildLayouts -c:Release -p:Version=${{ github.event.inputs.version }} | |
- name: Debloat the libs | |
run: | | |
dotnet run --project src/debloat/debloat.csproj layouts/windows-x64/lib | |
dotnet run --project src/debloat/debloat.csproj layouts/windows-arm64/lib | |
dotnet run --project src/debloat/debloat.csproj layouts/linux-glibc-x64/lib | |
dotnet run --project src/debloat/debloat.csproj layouts/linux-glibc-arm64/lib | |
- name: Prepare symbols | |
run: | | |
mv layouts/windows-x64/bflat.pdb layouts/obj/windows-x64/ | |
mv layouts/windows-arm64/bflat.pdb layouts/obj/windows-arm64/ | |
sudo apt-get update | |
sudo apt-get install llvm | |
llvm-objcopy --only-keep-debug layouts/linux-glibc-x64/bflat layouts/obj/linux-glibc-x64/bflat.dwo | |
llvm-objcopy --strip-debug --strip-unneeded layouts/linux-glibc-x64/bflat | |
llvm-objcopy --add-gnu-debuglink=layouts/obj/linux-glibc-x64/bflat.dwo layouts/linux-glibc-x64/bflat | |
llvm-objcopy --only-keep-debug layouts/linux-glibc-arm64/bflat layouts/obj/linux-glibc-arm64/bflat.dwo | |
llvm-objcopy --strip-debug --strip-unneeded layouts/linux-glibc-arm64/bflat | |
llvm-objcopy --add-gnu-debuglink=layouts/obj/linux-glibc-arm64/bflat.dwo layouts/linux-glibc-arm64/bflat | |
- name: Inject license | |
if: ${{ github.event.inputs.version != '' }} | |
run: | | |
cp .github/official-release-license.tmp layouts/windows-x64/LICENSE.TXT | |
cp .github/official-release-license.tmp layouts/windows-arm64/LICENSE.TXT | |
cp .github/official-release-license.tmp layouts/linux-glibc-x64/LICENSE.TXT | |
cp .github/official-release-license.tmp layouts/linux-glibc-arm64/LICENSE.TXT | |
- name: Create archives | |
run: | | |
(cd layouts/windows-x64 && zip -r ../windows-x64.zip .) | |
(cd layouts/windows-arm64 && zip -r ../windows-arm64.zip .) | |
zip -j layouts/windows-x64-symbols.zip layouts/obj/windows-x64/bflat.pdb | |
zip -j layouts/windows-arm64-symbols.zip layouts/obj/windows-arm64/bflat.pdb | |
tar -C layouts/linux-glibc-x64/ -czvf layouts/linux-glibc-x64.tar.gz . | |
tar -C layouts/obj/linux-glibc-x64/ -czvf layouts/linux-glibc-x64-symbols.tar.gz bflat.dwo | |
tar -C layouts/linux-glibc-arm64/ -czvf layouts/linux-glibc-arm64.tar.gz . | |
tar -C layouts/obj/linux-glibc-arm64/ -czvf layouts/linux-glibc-arm64-symbols.tar.gz bflat.dwo | |
- name: Archive windows-x64 hosted compiler | |
uses: actions/upload-artifact@v2 | |
with: | |
name: bflat-windows-x64.zip | |
path: layouts/windows-x64.zip | |
- name: Archive windows-x64 hosted compiler symbols | |
uses: actions/upload-artifact@v2 | |
with: | |
name: debugsymbols-bflat-windows-x64.zip | |
path: layouts/windows-x64-symbols.zip | |
- name: Archive windows-arm64 hosted compiler | |
uses: actions/upload-artifact@v2 | |
with: | |
name: bflat-windows-arm64.zip | |
path: layouts/windows-arm64.zip | |
- name: Archive windows-arm64 hosted compiler symbols | |
uses: actions/upload-artifact@v2 | |
with: | |
name: debugsymbols-bflat-windows-arm64.zip | |
path: layouts/windows-arm64-symbols.zip | |
- name: Archive linux-glibc-x64 hosted compiler | |
uses: actions/upload-artifact@v2 | |
with: | |
name: bflat-linux-glibc-x64.zip | |
path: layouts/linux-glibc-x64.tar.gz | |
- name: Archive linux-glibc-x64 hosted compiler symbols | |
uses: actions/upload-artifact@v2 | |
with: | |
name: debugsymbols-bflat-linux-glibc-x64.zip | |
path: layouts/linux-glibc-x64-symbols.tar.gz | |
- name: Archive linux-glibc-arm64 hosted compiler | |
uses: actions/upload-artifact@v2 | |
with: | |
name: bflat-linux-glibc-arm64.zip | |
path: layouts/linux-glibc-arm64.tar.gz | |
- name: Archive linux-glibc-arm64 hosted compiler symbols | |
uses: actions/upload-artifact@v2 | |
with: | |
name: debugsymbols-bflat-linux-glibc-arm64.zip | |
path: layouts/linux-glibc-arm64-symbols.tar.gz | |
- name: Run tests | |
if: ${{ github.event.inputs.version == '' }} | |
run: dotnet test src/bflat.Tests/bflat.Tests.csproj | |
- name: Create tag | |
if: ${{ github.event.inputs.version != '' && github.actor == 'MichalStrehovsky' }} | |
run: | | |
git tag v${{ github.event.inputs.version }} | |
git push origin v${{ github.event.inputs.version }} | |
- name: Create Release | |
if: ${{ github.event.inputs.version != '' && github.actor == 'MichalStrehovsky' }} | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: v${{ github.event.inputs.version }} | |
release_name: v${{ github.event.inputs.version }} | |
draft: true | |
prerelease: false | |
- name: Upload windows-x64 hosted compiler | |
if: ${{ github.event.inputs.version != '' && github.actor == 'MichalStrehovsky' }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: layouts/windows-x64.zip | |
asset_name: bflat-${{ github.event.inputs.version }}-windows-x64.zip | |
asset_content_type: application/zip | |
- name: Upload windows-x64 hosted compiler symbols | |
if: ${{ github.event.inputs.version != '' && github.actor == 'MichalStrehovsky'}} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: layouts/windows-x64-symbols.zip | |
asset_name: bflat-${{ github.event.inputs.version }}-windows-x64-debugsymbols.zip | |
asset_content_type: application/zip | |
- name: Upload windows-arm64 hosted compiler | |
if: ${{ github.event.inputs.version != '' && github.actor == 'MichalStrehovsky' }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: layouts/windows-arm64.zip | |
asset_name: bflat-${{ github.event.inputs.version }}-windows-arm64.zip | |
asset_content_type: application/zip | |
- name: Upload windows-arm64 hosted compiler symbols | |
if: ${{ github.event.inputs.version != '' && github.actor == 'MichalStrehovsky'}} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: layouts/windows-arm64-symbols.zip | |
asset_name: bflat-${{ github.event.inputs.version }}-windows-arm64-debugsymbols.zip | |
asset_content_type: application/zip | |
- name: Upload linux-glibc-x64 hosted compiler | |
if: ${{ github.event.inputs.version != '' && github.actor == 'MichalStrehovsky' }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: layouts/linux-glibc-x64.tar.gz | |
asset_name: bflat-${{ github.event.inputs.version }}-linux-glibc-x64.tar.gz | |
asset_content_type: application/gzip | |
- name: Upload linux-glibc-x64 hosted compiler symbols | |
if: ${{ github.event.inputs.version != '' && github.actor == 'MichalStrehovsky' }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: layouts/linux-glibc-x64-symbols.tar.gz | |
asset_name: bflat-${{ github.event.inputs.version }}-linux-glibc-x64-debugsymbols.tar.gz | |
asset_content_type: application/gzip | |
- name: Upload linux-glibc-arm64 hosted compiler | |
if: ${{ github.event.inputs.version != '' && github.actor == 'MichalStrehovsky' }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: layouts/linux-glibc-arm64.tar.gz | |
asset_name: bflat-${{ github.event.inputs.version }}-linux-glibc-arm64.tar.gz | |
asset_content_type: application/gzip | |
- name: Upload linux-glibc-arm64 hosted compiler symbols | |
if: ${{ github.event.inputs.version != '' && github.actor == 'MichalStrehovsky' }} | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: layouts/linux-glibc-arm64-symbols.tar.gz | |
asset_name: bflat-${{ github.event.inputs.version }}-linux-glibc-arm64-debugsymbols.tar.gz | |
asset_content_type: application/gzip |