name: Release Secrets Manager Action on: push: tags: - v* env: build_name: action-secretsmanager jobs: build: runs-on: stackit-docker steps: - name: 📤 Checkout source code uses: actions/checkout@v6 - name: ⚙️ Set up Go uses: actions/setup-go@v6 with: go-version: 1.26 - name: ⚙️ Install dependencies run: | apt-get -y -qq update && apt-get -qq -y install jq - name: 👨🏻‍🔧 Build app run: | CGO_ENABLED=0 go build -o "${{ env.build_name }}" -ldflags="-s -w" - name: 🤠 Create release run: | set -e echo "Creating release for ${{ github.repository }} with tag ${{ github.ref_name }}" REQUEST=$(curl --fail --request POST \ --url ${{ env.GITHUB_API_URL }}/repos/${{ github.repository }}/releases \ --header 'Authorization: token ${{ secrets.GIT_TOKEN }}' \ --header 'content-type: application/json' \ --data '{ "tag_name": "${{ github.ref_name }}" }') ls -lh ${{ env.build_name }} RELEASE_ID=$(echo $REQUEST | jq .id) echo "Uploading release asset for Release ID ${RELEASE_ID}" curl --fail --request POST \ --url ${{ env.GITHUB_API_URL }}/repos/${{ github.repository }}/releases/${RELEASE_ID}/assets?name=${{ env.build_name }} \ --header 'Authorization: token ${{ secrets.GIT_TOKEN }}' \ -F 'attachment=@${{ env.build_name}}'