Prod fishsauce #17
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: ULID Tool Build and Release | |
on: | |
workflow_dispatch: # Manually trigger the workflow | |
pull_request_target: | |
branches: | |
- main | |
types: | |
- closed | |
jobs: | |
release: | |
runs-on: ubuntu-latest | |
if: ${{ github.event.pull_request.merged == true || github.event_name == 'workflow_dispatch' }} # Allow manual triggering | |
env: | |
IS_PROD: ${{ contains(github.event.pull_request.head.ref, 'prod') }} | |
VERSION_NUMBER: ${{ github.run_number }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 # Add back the checkout step | |
with: | |
ref: 'refs/heads/main' # Ensures the main branch is checked out after merge | |
- name: Set up Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
profile: minimal | |
override: true | |
- name: Build and Test ULID Tool | |
run: | | |
cd tools/ulid | |
cargo build --release --verbose | |
cargo test --verbose | |
- name: Debug Info | |
run: | | |
echo "IS_PROD: ${{ env.IS_PROD }}" | |
echo "Branch: ${{ github.event.pull_request.head.ref }}" | |
- name: Write File Suffix to Environment File | |
run: echo "FILE_SUFFIX=${{ env.IS_PROD && '' || '-beta' }}" >> $GITHUB_ENV | |
- name: Rename Binary | |
if: ${{ env.FILE_SUFFIX != '' }} | |
run: | | |
mv tools/ulid/target/release/ulid tools/ulid/target/release/ulid${{ env.FILE_SUFFIX }} | |
- name: Archive Binary | |
run: | | |
cd tools/ulid/target/release | |
zip ulid-v${{ env.VERSION_NUMBER }}${{ env.FILE_SUFFIX }}.zip ulid${{ env.FILE_SUFFIX }} | |
- name: Create Release | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ulid-v${{ env.VERSION_NUMBER }}${{ env.FILE_SUFFIX }} # Adjust tag_name based on FILE_SUFFIX | |
release_name: ULID Release v${{ env.VERSION_NUMBER }}${{ env.FILE_SUFFIX }} # Adjust release_name based on FILE_SUFFIX | |
draft: false | |
prerelease: ${{ env.IS_PROD == 'false' }} | |
- name: Upload Release Asset | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ./tools/ulid/target/release/ulid-v${{ env.VERSION_NUMBER }}${{ env.FILE_SUFFIX }}.zip # Adjust asset_path based on FILE_SUFFIX | |
asset_name: ulid-v${{ env.VERSION_NUMBER }}${{ env.FILE_SUFFIX }}.zip | |
asset_content_type: application/zip |