-
-
Notifications
You must be signed in to change notification settings - Fork 190
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Dave Henderson <[email protected]>
- Loading branch information
1 parent
cec14a0
commit 53afa47
Showing
4 changed files
with
139 additions
and
117 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,6 +3,10 @@ name: Deploy Released Assets | |
on: | ||
release: | ||
types: [published] | ||
push: | ||
branches: | ||
- release-fix-attempt | ||
workflow_dispatch: | ||
|
||
permissions: | ||
contents: write | ||
|
@@ -14,7 +18,8 @@ jobs: | |
environment: | ||
name: aports | ||
env: | ||
TAG_NAME: ${{ github.event.release.tag_name }} | ||
# TAG_NAME: ${{ github.event.release.tag_name }} | ||
TAG_NAME: v4.3.0 | ||
steps: | ||
- uses: actions/create-github-app-token@v1 | ||
id: app-token | ||
|
@@ -33,64 +38,62 @@ jobs: | |
# need gomplate to template the APKBUILD! | ||
gh release download ${TAG_NAME} --skip-existing -p gomplate_linux-amd64 | ||
chmod 755 gomplate_linux-amd64 | ||
env: | ||
GH_TOKEN: ${{ steps.app-token.outputs.token }} | ||
- name: checkout alpinelinux/aports | ||
run: | | ||
git config user.name "${{ github.actor }}" | ||
git config user.email "${{ github.actor_id }}+${{ github.actor }}@users.noreply.github.com" | ||
git clone https://gitlab.alpinelinux.org/hairyhenderson/aports.git | ||
git remote add upstream https://gitlab.alpinelinux.org/alpine/aports.git | ||
set -ex | ||
git config --global user.name "${{ github.actor }}" | ||
git config --global user.email "${{ github.actor_id }}+${{ github.actor }}@users.noreply.github.com" | ||
git clone -v https://gitlab.alpinelinux.org/hairyhenderson/aports.git | ||
cd aports | ||
# note: this token expires, so needs to be rotated periodically | ||
git remote set-url origin "https://oauth2:${{ secrets.GITLAB_ACCESS_TOKEN }}@gitlab.alpinelinux.org/hairyhenderson/aports.git" | ||
git remote add upstream https://gitlab.alpinelinux.org/alpine/aports.git | ||
git checkout master | ||
- name: update fork | ||
run: | | ||
set -ex | ||
cd aports | ||
git fetch upstream | ||
git fetch -v upstream | ||
git rebase upstream/master | ||
git push | ||
- name: upgrade gomplate in aports | ||
run: | | ||
set -ex | ||
export VERSION=${TAG_NAME#v} | ||
cd aports/community/gomplate | ||
git checkout -b upgrade-gomplate-aport-${VERSION} | ||
export VERSION=${TAG_NAME#v} | ||
export ENVJSON="{\"version\": \"${VERSION}\", \"sha512\": \"${{ steps.artifacts.outputs.sha512sum }}\" }" | ||
gomplate_linux-amd64 -c .=env:///ENVJSON\?type=application/json \ | ||
../../../gomplate_linux-amd64 -c .=env:///ENVJSON\?type=application/json \ | ||
-f ../../../packaging/alpine/APKBUILD.tmpl \ | ||
-o APKBUILD | ||
git add APKBUILD | ||
git commit -S -sm "community/gomplate: upgrade to ${VERSION}" | ||
git commit -sm "community/gomplate: upgrade to ${VERSION}" | ||
git push -u origin upgrade-gomplate-aport-${VERSION} | ||
# open a PR | ||
lab mr create --allow-collaboration \ | ||
-m "community/gomplate: upgrade to ${VERSION}" \ | ||
-m "https://github.com/${{ github.repository }}/releases/tag/${TAG_NAME}" | ||
deploy-homebrew: | ||
runs-on: ubuntu-latest | ||
# run on macOS - this doesn't work in Linuxbrew | ||
runs-on: macos-latest | ||
environment: | ||
name: homebrew | ||
env: | ||
TAG_NAME: ${{ github.event.release.tag_name }} | ||
# TAG_NAME: ${{ github.event.release.tag_name }} | ||
TAG_NAME: v4.3.0 | ||
steps: | ||
- uses: actions/create-github-app-token@v1 | ||
id: app-token | ||
with: | ||
app-id: ${{ vars.APP_ID }} | ||
private-key: ${{ secrets.PRIVATE_KEY }} | ||
# - name: Retrieve release artifacts | ||
# id: artifacts | ||
# run: | | ||
# # need the checksum and archive | ||
# gh release download ${TAG_NAME} -p "${TAG_NAME}.sha*" | ||
|
||
# echo "sha256sum=$(cat ${TAG_NAME}.sha256)" >> $GITHUB_OUTPUT | ||
# echo "archive=https://github.com/${{ github.repository }}/archive/refs/tags/${TAG_NAME}.tar.gz" >> $GITHUB_OUTPUT | ||
# env: | ||
# GH_TOKEN: ${{ steps.app-token.outputs.token }} | ||
- name: Set up Homebrew | ||
id: set-up-homebrew | ||
uses: Homebrew/actions/setup-homebrew@master | ||
|
@@ -99,4 +102,79 @@ jobs: | |
with: | ||
token: ${{ steps.app-token.outputs.token }} | ||
formulae: gomplate | ||
fork: false | ||
fork: true | ||
# - name: Bump package | ||
# run: brew bump --open-pr --formulae gomplate | ||
# env: | ||
# HOMEBREW_DEVELOPER: "1" | ||
# HOMEBREW_GITHUB_API_TOKEN: ${{ steps.app-token.outputs.token }} | ||
deploy-docker: | ||
runs-on: ubuntu-latest | ||
env: | ||
# TAG_NAME: ${{ github.event.release.tag_name }} | ||
TAG_NAME: v4.3.0 | ||
steps: | ||
- name: Set up QEMU | ||
uses: docker/[email protected] | ||
- name: Set up Docker Buildx | ||
id: buildx | ||
uses: docker/[email protected] | ||
with: | ||
version: v0.14.1 | ||
driver-opts: | | ||
image=moby/buildkit:buildx-stable-1 | ||
network=host | ||
- name: Available platforms | ||
run: echo {{ `${{ steps.buildx.outputs.platforms }}` }} | ||
- run: docker info && docker version | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
- name: Login to GHCR | ||
uses: docker/[email protected] | ||
with: | ||
registry: ghcr.io | ||
username: ${{ github.actor }} | ||
password: ${{ secrets.GITHUB_TOKEN }} | ||
- name: Login to DockerHub | ||
uses: docker/[email protected] | ||
with: | ||
# NOTE: DOCKERHUB_TOKEN and DOCKERHUB_USERNAME must be present in https://github.com/hairyhenderson/gomplate/settings | ||
username: ${{ secrets.DOCKERHUB_USERNAME }} | ||
password: ${{ secrets.DOCKERHUB_TOKEN }} | ||
- name: Build & Push | ||
run: | | ||
export srcrepo=ghcr.io/${{ github.repository}} | ||
make docker-multi COMMIT=${{ github.sha }} DOCKER_REPO=${srcrepo} BUILDX_ACTION=--push | ||
set -x | ||
export repo=${srcrepo} | ||
export git_tag=${TAG_NAME} | ||
export major_version=${git_tag%\.*} | ||
docker buildx imagetools create -t ${repo}:stable ${srcrepo}:latest | ||
docker buildx imagetools create -t ${repo}:${git_tag} ${srcrepo}:latest | ||
docker buildx imagetools create -t ${repo}:${major_version} ${srcrepo}:latest | ||
docker buildx imagetools create -t ${repo}:stable-alpine ${srcrepo}:alpine | ||
docker buildx imagetools create -t ${repo}:${git_tag}-alpine ${srcrepo}:alpine | ||
docker buildx imagetools create -t ${repo}:${major_version}-alpine ${srcrepo}:alpine | ||
# and now DockerHub (if we don't get rate-limited) | ||
export repo=gomplate/gomplate | ||
docker buildx imagetools create -t ${repo}:stable ${srcrepo}:latest | ||
docker buildx imagetools create -t ${repo}:${git_tag} ${srcrepo}:latest | ||
docker buildx imagetools create -t ${repo}:${major_version} ${srcrepo}:latest | ||
docker buildx imagetools create -t ${repo}:stable-alpine ${srcrepo}:alpine | ||
docker buildx imagetools create -t ${repo}:${git_tag}-alpine ${srcrepo}:alpine | ||
docker buildx imagetools create -t ${repo}:${major_version}-alpine ${srcrepo}:alpine | ||
export repo=hairyhenderon/gomplate | ||
docker buildx imagetools create -t ${repo}:stable ${srcrepo}:latest | ||
docker buildx imagetools create -t ${repo}:${git_tag} ${srcrepo}:latest | ||
docker buildx imagetools create -t ${repo}:${major_version} ${srcrepo}:latest | ||
docker buildx imagetools create -t ${repo}:stable-alpine ${srcrepo}:alpine | ||
docker buildx imagetools create -t ${repo}:${git_tag}-alpine ${srcrepo}:alpine | ||
docker buildx imagetools create -t ${repo}:${major_version}-alpine ${srcrepo}:alpine |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
# Maintainer: Dave Henderson <[email protected]> | ||
pkgname=gomplate | ||
pkgver={{.version}} | ||
pkgrel=0 | ||
pkgdesc="A versatile Go template processor" | ||
url="https://github.com/hairyhenderson/gomplate" | ||
arch="all" | ||
license="MIT" | ||
depends="ca-certificates" | ||
makedepends="go" | ||
options="net" | ||
source="$pkgname-$pkgver.tar.gz::https://github.com/hairyhenderson/gomplate/archive/v$pkgver.tar.gz" | ||
|
||
export GOFLAGS="$GOFLAGS -trimpath -modcacherw" | ||
export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}" | ||
export GOTMPDIR="${GOTMPDIR:-"$srcdir"}" | ||
export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}" | ||
|
||
build() { | ||
# CGO needs to be able to be enabled for -buildmode=pie, setting it to an | ||
# empty string is a workaround for now. | ||
# See: https://gitlab.alpinelinux.org/alpine/aports/-/issues/15809 | ||
make build \ | ||
CGO_ENABLED= \ | ||
VERSION="$pkgver" \ | ||
COMMIT="unknown" | ||
} | ||
|
||
check() { | ||
# Note: make test (that runs go test -race) doesn't work. | ||
go test -v | ||
} | ||
|
||
package() { | ||
install -D -m 755 bin/gomplate "$pkgdir"/usr/bin/gomplate | ||
} | ||
|
||
sha512sums="{{.sha512}} gomplate-{{.version}}.tar.gz" |