Skip to content

Update golang Docker tag to v1.23.2 #2026

Update golang Docker tag to v1.23.2

Update golang Docker tag to v1.23.2 #2026

Workflow file for this run

name: build-and-release
on:
push:
branches:
- unstable
- main
tags:
- v*
pull_request:
branches:
- main
- unstable
- development
permissions:
contents: read
jobs:
macapp-test:
# description: "Builds and signs a macOS app then packages it in a notarized DMG."
if: startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/unstable'
name: Make macOS DMG
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
with:
# we need the whole thing so we can count commits.
fetch-depth: '0'
- uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
- name: go-generate
run: go generate ./...
- name: make-signdmg
env:
APPLE_SIGNING_KEY: ${{ secrets.APPLE_SIGNING_KEY }}
AC_USERNAME: ${{ secrets.AC_USERNAME }}
AC_PASSWORD: ${{ secrets.AC_PASSWORD }}
AC_PROVIDER: ${{ secrets.AC_PROVIDER }}
SLIPPERS: ${{ secrets.SLIPPERS }}
id: release
run: |
brew install Bearer/tap/gon
[ -z SLIPPERS ] || eval "${SLIPPERS}"
gzip -9 pkg/bindata/files/{css,js}/*
gzip -9r pkg/bindata/templates/*
make signdmg
- name: Upload DMG Artifact
uses: actions/upload-artifact@v4
with:
name: dmg-release
path: release
release:
# description: "Builds all the Notifiarr client binaries and packages for a release."
if: startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/unstable' || github.ref == 'refs/heads/main'
outputs:
version: ${{ steps.vars.outputs.version }}
revision: ${{ steps.vars.outputs.revision }}
name: Make Release Assets
runs-on: ubuntu-latest
env:
GPG_SIGNING_KEY: ${{ secrets.GPG_SIGNING_KEY }}
SLIPPERS: ${{ secrets.SLIPPERS }}
steps:
- uses: actions/checkout@v4
with:
# we need the whole thing so we can count commits.
fetch-depth: '0'
- uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
- name: Get Version and Iteration
id: vars
run: |
source settings.sh
echo "Building v${VERSION}-${ITERATION}"
echo "version=${VERSION}" >> $GITHUB_OUTPUT
echo "revision=${ITERATION}" >> $GITHUB_OUTPUT
- name: Make Release v${{steps.vars.outputs.version}}-${{steps.vars.outputs.revision}}
id: release
run: |
sudo apt install -y rpm fakeroot zip debsigs gnupg jq libarchive-tools
sudo gem install --no-document fpm
echo "${GPG_SIGNING_KEY}" | gpg --import -
[ -z SLIPPERS ] || eval "${SLIPPERS}"
gzip -9 pkg/bindata/files/{css,js}/*
gzip -9r pkg/bindata/templates/*
make release
- name: Upload Release Artifacts v${{steps.vars.outputs.version}}-${{steps.vars.outputs.revision}}
uses: actions/upload-artifact@v4
with:
name: release
path: release
- name: upload sha512sums.txt
uses: actions/upload-artifact@v4
with:
name: sha512sums.txt
path: release/sha512sums.txt
print-built-version:
needs:
- release
name: Built v${{needs.release.outputs.version}}-${{needs.release.outputs.revision}}
runs-on: ubuntu-latest
steps:
- name: Built v${{needs.release.outputs.version}}-${{needs.release.outputs.revision}}
run: echo Built v${{needs.release.outputs.version}}-${{needs.release.outputs.revision}}
deploy-unstable-unstable:
# description: "Uploads pre-built binaries to unstable.golift.io."
if: startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/unstable'
strategy:
matrix:
files: [release, dmg-release]
needs:
- release
- macapp-test
name: GoLift Unstable Deploy
runs-on: ubuntu-latest
steps:
- name: "Download files: ${{ matrix.files }}"
uses: actions/download-artifact@v4
with:
name: ${{ matrix.files }}
- name: Upload files to unstable.golift.io
run: >-
for file in *.{zip,dmg,gz}; do
[ -f "$file" ] || continue;
echo "Uploading: ${file}";
curl -sSH "X-API-KEY: ${{ secrets.UNSTABLE_UPLOAD_KEY }}" "https://unstable.golift.io/upload.php?folder=notifiarr" -F "file=@${file}";
echo '{"version":"${{needs.release.outputs.version}}","revision":${{needs.release.outputs.revision}},"size":'$(stat --printf="%s" ${file})'}' >> ${file}.txt
curl -sSH "X-API-KEY: ${{ secrets.UNSTABLE_UPLOAD_KEY }}" "https://unstable.golift.io/upload.php?folder=notifiarr" -F "file=@${file}.txt";
done
deploy-unstable-packagecloud:
# description: "Uploads pre-built RPM and DEB packages to packagecloud.io/golift"
if: github.ref == 'refs/heads/unstable'
needs:
- release
name: PackageCloud Unstable Deploy
runs-on: ubuntu-latest
steps:
- name: Download release files
uses: actions/download-artifact@v4
with:
name: release
- uses: golift/upload-packagecloud@v1
with:
userrepo: golift/unstable
apitoken: ${{ secrets.PACKAGECLOUD_TOKEN }}
packages: .
rpmdists: el/6
debdists: ubuntu/focal
deploy-packagecloud:
# description: "Uploads pre-built RPM and DEB packages to packagecloud.io/golift"
if: startsWith(github.ref, 'refs/tags/v')
needs:
- release
name: PackageCloud Release Deploy
runs-on: ubuntu-latest
steps:
- name: Download release files
uses: actions/download-artifact@v4
with:
name: release
- uses: golift/upload-packagecloud@v1
with:
userrepo: golift/pkgs
apitoken: ${{ secrets.PACKAGECLOUD_TOKEN }}
packages: .
rpmdists: el/6
debdists: ubuntu/focal
deploy-github:
# description: uploads all the built release assets to the GitHub Release.
if: startsWith(github.ref, 'refs/tags/v')
permissions:
contents: write
needs:
- release
- macapp-test
strategy:
matrix:
files: [release, dmg-release]
name: Deploy GitHub Release
runs-on: ubuntu-latest
steps:
- name: Download ${{ matrix.files }} Files
uses: actions/download-artifact@v4
with:
name: ${{ matrix.files }}
- name: Publish ${{ matrix.files }} artifacts to github
uses: softprops/action-gh-release@v2
with:
files: |
*.rpm
*.deb
*.txz
*.zip
*.dmg
*.gz
*.txt
*.zst
*.sig
archlinux-aur:
if: startsWith(github.ref, 'refs/tags/v')
# description: creates and uploads a PKGBUILD file to the official aur repo from Arch Linux.
needs:
- release
name: Deploy ArchLinux AUR
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: '0'
- name: Download ${{ matrix.files }} Files
uses: actions/download-artifact@v4
with:
name: sha512sums.txt
- name: Deploy Aurch AUR
run: bash init/archlinux/aur-deploy.sh
env:
DEPLOY_KEY: ${{ secrets.AUR_DEPLOY_KEY }}