From 7949b78e1a9b8f95744074e64b4073a35e1ac21c Mon Sep 17 00:00:00 2001 From: Leynos Date: Fri, 13 Jun 2025 18:42:21 +0100 Subject: [PATCH 1/4] Add release workflow --- .github/workflows/release.yml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..4fa288c7 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,32 @@ +name: Release Binary + +on: + push: + tags: + - 'v[0-9]+.[0-9]+.[0-9]+' + - 'v[0-9]+.[0-9]+.[0-9]+-*' + +jobs: + release: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions-rs/toolchain@v1 + with: + toolchain: stable + profile: minimal + override: true + - name: Build release binary + run: cargo build --release + - name: Package binary + run: | + mkdir dist + cp target/release/mdtablefix dist/mdtablefix-linux + cd dist + tar -czf mdtablefix-linux.tar.gz mdtablefix-linux + - name: Upload to release + uses: softprops/action-gh-release@v1 + with: + files: dist/mdtablefix-linux.tar.gz + prerelease: ${{ contains(github.ref, '-') }} + From 448f2f7c6ee7bea488af401e360f9858be099a2f Mon Sep 17 00:00:00 2001 From: Leynos Date: Fri, 13 Jun 2025 18:49:15 +0100 Subject: [PATCH 2/4] Include version in release artifact --- .github/workflows/release.yml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4fa288c7..ada6a012 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -3,8 +3,8 @@ name: Release Binary on: push: tags: - - 'v[0-9]+.[0-9]+.[0-9]+' - - 'v[0-9]+.[0-9]+.[0-9]+-*' + - 'v[0-9]*.[0-9]*.[0-9]*' + - 'v[0-9]*.[0-9]*.[0-9]*-*' jobs: release: @@ -19,14 +19,19 @@ jobs: - name: Build release binary run: cargo build --release - name: Package binary + id: package run: | mkdir dist cp target/release/mdtablefix dist/mdtablefix-linux + version="${GITHUB_REF_NAME#v}" cd dist - tar -czf mdtablefix-linux.tar.gz mdtablefix-linux + tar -czf "mdtablefix-${version}-linux.tar.gz" mdtablefix-linux + echo "version=${version}" >> "$GITHUB_OUTPUT" + env: + GITHUB_REF_NAME: ${{ github.ref_name }} - name: Upload to release uses: softprops/action-gh-release@v1 with: - files: dist/mdtablefix-linux.tar.gz + files: dist/mdtablefix-${{ steps.package.outputs.version }}-linux.tar.gz prerelease: ${{ contains(github.ref, '-') }} From e555ac7d0cbea06fa7d0cdbade17582d39d0f311 Mon Sep 17 00:00:00 2001 From: Leynos Date: Fri, 13 Jun 2025 19:10:38 +0100 Subject: [PATCH 3/4] Improve release workflow --- .github/workflows/release.yml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ada6a012..c0db5b33 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -3,8 +3,8 @@ name: Release Binary on: push: tags: - - 'v[0-9]*.[0-9]*.[0-9]*' - - 'v[0-9]*.[0-9]*.[0-9]*-*' + - 'v[0-9]+\.[0-9]+\.[0-9]+' + - 'v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z.-]+)?' jobs: release: @@ -16,6 +16,16 @@ jobs: toolchain: stable profile: minimal override: true + - name: Cache cargo registry + uses: actions/cache@v4 + with: + path: | + ~/.cargo/registry + ~/.cargo/git + target + key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-cargo- - name: Build release binary run: cargo build --release - name: Package binary From c36e494ccf63c2d199f0432831c893f198a16ef2 Mon Sep 17 00:00:00 2001 From: Leynos Date: Fri, 13 Jun 2025 19:10:45 +0100 Subject: [PATCH 4/4] Add -p flag when creating dist --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c0db5b33..1c855f83 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -31,7 +31,7 @@ jobs: - name: Package binary id: package run: | - mkdir dist + mkdir -p dist cp target/release/mdtablefix dist/mdtablefix-linux version="${GITHUB_REF_NAME#v}" cd dist