Docker publish action #6
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: ULID Tool Build and Release | |
on: | |
pull_request_target: | |
branches: | |
- main | |
types: | |
- closed | |
jobs: | |
release: | |
runs-on: ubuntu-latest | |
if: github.event.pull_request.merged == true | |
env: | |
IS_PROD: ${{ contains(github.event.pull_request.head.ref, 'prod') }} | |
VERSION_NUMBER: ${{ github.run_number }} | |
FILE_SUFFIX: ${{ contains(github.event.pull_request.head.ref, 'prod') && '' || '-beta' }} | |
steps: | |
- uses: actions/checkout@v2 | |
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 "FILE_SUFFIX: ${{ env.FILE_SUFFIX }}" | |
echo "IS_PROD: ${{ env.IS_PROD }}" | |
echo "Branch: ${{ github.event.pull_request.head.ref }}" | |
- 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 # Ensure this ID is correctly set to reference in later steps | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ulid-v${{ env.VERSION_NUMBER }}${{ env.FILE_SUFFIX }} | |
release_name: ULID Release v${{ env.VERSION_NUMBER }}${{ env.FILE_SUFFIX }} | |
draft: false | |
prerelease: ${{ !env.IS_PROD }} | |
- 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 }} # Correctly reference the output of the create_release step | |
asset_path: ./tools/ulid/target/release/ulid-v${{ env.VERSION_NUMBER }}${{ env.FILE_SUFFIX }}.zip | |
asset_name: ulid-v${{ env.VERSION_NUMBER }}${{ env.FILE_SUFFIX }}.zip | |
asset_content_type: application/zip |