refactor: Add CultureInfo to string conversions #8
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: Build and Release | |
on: | |
push: | |
tags: | |
- "v*" | |
permissions: | |
contents: write | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
architecture: [x64, arm64] | |
include: | |
- os: ubuntu-latest | |
rid: linux-x64 | |
architecture: x64 | |
- os: ubuntu-latest | |
rid: linux-arm64 | |
architecture: arm64 | |
- os: windows-latest | |
rid: win-x64 | |
architecture: x64 | |
- os: windows-latest | |
rid: win-arm64 | |
architecture: arm64 | |
- os: macos-latest | |
rid: osx-x64 | |
architecture: x64 | |
- os: macos-latest | |
rid: osx-arm64 | |
architecture: arm64 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v2 | |
with: | |
dotnet-version: "8.0.x" | |
- name: Install dependencies | |
run: dotnet restore | |
- name: Build | |
run: dotnet build Passenger.csproj --configuration Release --runtime ${{ matrix.rid }} --self-contained | |
- name: Publish | |
run: dotnet publish --configuration Release --runtime ${{ matrix.rid }} --self-contained --output ./publish | |
- name: Zip published files (Linux and macOS) | |
if: runner.os != 'Windows' | |
run: | | |
cd publish | |
zip -r ../${{ matrix.os }}-${{ matrix.architecture }}-artifact.zip . | |
shell: bash | |
- name: Zip published files (Windows) | |
if: runner.os == 'Windows' | |
run: | | |
powershell Compress-Archive -Path publish\* -DestinationPath ${{ matrix.os }}-${{ matrix.architecture }}-artifact.zip | |
- name: Upload artifact | |
uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ matrix.os }}-${{ matrix.architecture }}-artifact | |
path: ./${{ matrix.os }}-${{ matrix.architecture }}-artifact.zip | |
release: | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Download artifacts (Linux x64) | |
uses: actions/download-artifact@v2 | |
with: | |
name: ubuntu-latest-x64-artifact | |
path: ./artifacts | |
- name: Download artifacts (Linux ARM64) | |
uses: actions/download-artifact@v2 | |
with: | |
name: ubuntu-latest-arm64-artifact | |
path: ./artifacts | |
- name: Download artifacts (Windows x64) | |
uses: actions/download-artifact@v2 | |
with: | |
name: windows-latest-x64-artifact | |
path: ./artifacts | |
- name: Download artifacts (Windows ARM64) | |
uses: actions/download-artifact@v2 | |
with: | |
name: windows-latest-arm64-artifact | |
path: ./artifacts | |
- name: Download artifacts (macOS x64) | |
uses: actions/download-artifact@v2 | |
with: | |
name: macos-latest-x64-artifact | |
path: ./artifacts | |
- name: Download artifacts (macOS ARM64) | |
uses: actions/download-artifact@v2 | |
with: | |
name: macos-latest-arm64-artifact | |
path: ./artifacts | |
- name: Determine if Pre-release | |
id: prerelease_check | |
run: echo "::set-output name=prerelease::$(echo ${{ github.ref }} | grep -E -q 'v[0-9]+\.[0-9]+\.[0-9]+-[a-zA-Z0-9]+' && echo true || echo false)" | |
- name: Create GitHub Release | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ github.ref }} | |
release_name: Release ${{ github.ref }} | |
draft: false | |
prerelease: ${{ steps.prerelease_check.outputs.prerelease }} | |
body: | | |
### Description | |
Release for ${{ github.ref }} | |
- name: Upload Release Asset (Linux x64) | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ./artifacts/ubuntu-latest-x64-artifact.zip | |
asset_name: linux-x64.zip | |
asset_content_type: application/zip | |
- name: Upload Release Asset (Linux ARM64) | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ./artifacts/ubuntu-latest-arm64-artifact.zip | |
asset_name: linux-arm64.zip | |
asset_content_type: application/zip | |
- name: Upload Release Asset (Windows x64) | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ./artifacts/windows-latest-x64-artifact.zip | |
asset_name: windows-x64.zip | |
asset_content_type: application/zip | |
- name: Upload Release Asset (Windows ARM64) | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ./artifacts/windows-latest-arm64-artifact.zip | |
asset_name: windows-arm64.zip | |
asset_content_type: application/zip | |
- name: Upload Release Asset (macOS x64) | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ./artifacts/macos-latest-x64-artifact.zip | |
asset_name: osx-x64.zip | |
asset_content_type: application/zip | |
- name: Upload Release Asset (macOS ARM64) | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ./artifacts/macos-latest-arm64-artifact.zip | |
asset_name: osx-arm64.zip | |
asset_content_type: application/zip |