Skip to content

Bump base64 from 0.22.0 to 0.22.1 #518

Bump base64 from 0.22.0 to 0.22.1

Bump base64 from 0.22.0 to 0.22.1 #518

Workflow file for this run

name: Build/publish release
on: [push, pull_request]
jobs:
publish:
name: Binary ${{ matrix.target }}
runs-on: ubuntu-latest
outputs:
version: ${{ steps.extract_version.outputs.version }}
strategy:
matrix:
include:
- os: ubuntu-latest
target: x86_64-unknown-linux-musl
- os: ubuntu-latest
target: x86_64-unknown-linux-gnu
- os: ubuntu-latest
target: aarch64-unknown-linux-musl
- os: ubuntu-latest
target: aarch64-unknown-linux-gnu
- os: ubuntu-latest
target: armv7-unknown-linux-musleabihf
- os: ubuntu-latest
target: armv7-unknown-linux-gnueabihf
- os: ubuntu-latest
target: arm-unknown-linux-musleabihf
- os: ubuntu-latest
target: x86_64-unknown-freebsd
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Rust toolchain
uses: dtolnay/rust-toolchain@stable
- run: sudo apt update && sudo apt install musl-tools
- name: cargo build
uses: houseabsolute/actions-rust-cross@v0
with:
command: build
args: --release --locked ${{ matrix.cargo_flags }}
target: ${{ matrix.target }}
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.target }}
path: target/${{ matrix.target }}/release/wiresmith
- name: Get version from tag
id: extract_version
run: |
echo "version=${GITHUB_REF_NAME#v}" >> "$GITHUB_OUTPUT"
shell: bash
- name: Install CHANGELOG parser
uses: taiki-e/install-action@parse-changelog
- name: Get CHANGELOG entry
run: parse-changelog CHANGELOG.md ${{ steps.extract_version.outputs.version }} | tee changelog_entry
if: startsWith(github.ref_name, 'v') && github.ref_type == 'tag'
shell: bash
- name: Read changelog entry from file
id: changelog_entry
uses: juliangruber/read-file-action@v1
with:
path: ./changelog_entry
if: startsWith(github.ref_name, 'v') && github.ref_type == 'tag'
- name: Release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: target/${{ matrix.target }}/release/wiresmith
tag: ${{ github.ref_name }}
asset_name: wiresmith-${{ steps.extract_version.outputs.version }}-${{ matrix.target }}
body: ${{ steps.changelog_entry.outputs.content }}
if: startsWith(github.ref_name, 'v') && github.ref_type == 'tag'
container-images:
name: Publish images
runs-on: ubuntu-latest
needs: publish
# Run for tags and pushes to the default branch
if: (startsWith(github.ref_name, 'v') && github.ref_type == 'tag') || github.event.repository.default_branch == github.ref_name
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install qemu-user-static
run: sudo apt update && sudo apt install qemu-user-static
- name: Download artifact aarch64-unknown-linux-gnu
uses: actions/download-artifact@v4
with:
name: aarch64-unknown-linux-gnu
path: target/aarch64-unknown-linux-gnu/release
- name: Download artifact x86_64-unknown-linux-gnu
uses: actions/download-artifact@v4
with:
name: x86_64-unknown-linux-gnu
path: target/x86_64-unknown-linux-gnu/release
- name: Download artifact armv7-unknown-linux-gnueabihf
uses: actions/download-artifact@v4
with:
name: armv7-unknown-linux-gnueabihf
path: target/armv7-unknown-linux-gnueabihf/release
- name: Download artifact aarch64-unknown-linux-musl
uses: actions/download-artifact@v4
with:
name: aarch64-unknown-linux-musl
path: target/aarch64-unknown-linux-musl/release
- name: Download artifact x86_64-unknown-linux-musl
uses: actions/download-artifact@v4
with:
name: x86_64-unknown-linux-musl
path: target/x86_64-unknown-linux-musl/release
- name: Download artifact armv7-unknown-linux-musleabihf
uses: actions/download-artifact@v4
with:
name: armv7-unknown-linux-musleabihf
path: target/armv7-unknown-linux-musleabihf/release
- name: podman login
run: podman login --username ${{ github.actor }} --password ${{ secrets.GITHUB_TOKEN }} ghcr.io
- name: podman build linux/arm64
run: podman build --format docker --platform linux/arm64/v8 --manifest wiresmith -f Containerfile target/aarch64-unknown-linux-gnu/release
- name: podman build linux/amd64
run: podman build --format docker --platform linux/amd64 --manifest wiresmith -f Containerfile target/x86_64-unknown-linux-gnu/release
- name: podman build linux/arm
run: podman build --format docker --platform linux/arm/v7 --manifest wiresmith -f Containerfile target/armv7-unknown-linux-gnueabihf/release
- name: podman manifest push latest
run: podman manifest push wiresmith ghcr.io/svenstaro/wiresmith:latest
- name: podman manifest push tag version
run: podman manifest push wiresmith ghcr.io/svenstaro/wiresmith:${{ needs.publish.outputs.version }}
if: startsWith(github.ref_name, 'v')