Skip to content

create release

create release #30

Workflow file for this run

name: Build, Tag, and Release proxmox-service-discovery
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
goarch: [amd64, arm64]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.23'
- name: Set architecture
run: echo "GOARCH=${{ matrix.goarch }}" >> $GITHUB_ENV
- name: Install dependencies
run: go mod download
- name: Build proxmox-service-discovery
run: go build -o proxmox-service-discovery-linux-${{ matrix.goarch }}
- name: Package binary into a ZIP file
run: zip proxmox-service-discovery-linux-${{ matrix.goarch }}.zip proxmox-service-discovery-linux-${{ matrix.goarch }}
- name: Upload ZIP artifact
uses: actions/upload-artifact@v4
with:
name: proxmox-service-discovery-linux-${{ matrix.goarch }}.zip
path: ./proxmox-service-discovery-linux-${{ matrix.goarch }}.zip
release:
needs: build
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Download ZIP artifacts for amd64
uses: actions/download-artifact@v4
with:
name: proxmox-service-discovery-amd64.zip
- name: Download ZIP artifacts for arm64
uses: actions/download-artifact@v4
with:
name: proxmox-service-discovery-arm64.zip
- name: Bump version and create tag
id: tag_version
uses: mathieudutour/[email protected]
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
tag_prefix: "v"
release_branches: "main"
default_bump: "patch"
create_annotated_tag: true
- name: Create GitHub Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ steps.tag_version.outputs.new_tag }}
release_name: "Release ${{ steps.tag_version.outputs.new_tag }}"
draft: false
prerelease: false
- name: Upload Linux AMD64 ZIP artifact
uses: actions/upload-release-asset@v1
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./proxmox-service-discovery-linux-amd64.zip
asset_name: proxmox-service-discovery-linux-amd64.zip
asset_content_type: application/zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload Linux ARM64 ZIP artifact
uses: actions/upload-release-asset@v1
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./proxmox-service-discovery-linux-arm64.zip
asset_name: proxmox-service-discovery-linux-arm64.zip
asset_content_type: application/zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}