From a842630dee01dfefc402cbad8d628fd7a8762d42 Mon Sep 17 00:00:00 2001 From: Logan McNaughton Date: Sun, 6 Feb 2022 09:18:55 -0700 Subject: [PATCH] Automate snap releases --- .github/workflows/snap.yml | 12 ++++-------- .github/workflows/toolbox.yml | 14 +++++--------- scripts/get_release_version.py | 13 +++++++++++++ 3 files changed, 22 insertions(+), 17 deletions(-) create mode 100755 scripts/get_release_version.py diff --git a/.github/workflows/snap.yml b/.github/workflows/snap.yml index 764e92c..b43a885 100644 --- a/.github/workflows/snap.yml +++ b/.github/workflows/snap.yml @@ -1,17 +1,12 @@ name: Upload snap on: - push: - branches: - - main - paths: - - "snap/**" + release: workflow_dispatch: env: SNAPCRAFT_BUILD_ENVIRONMENT: host PYTHON_VERSION: "3.9" - VERSION: "v2022.2.3" jobs: build-snap: @@ -37,8 +32,9 @@ jobs: - name: Run snapcraft run: | pip install requests - export M64P_LINUX_URL=$(python3 scripts/get_linux_asset.py ${{ env.VERSION }}) - sed -i "s~M64PVERSION~${{ env.VERSION }}~g" snap/snapcraft.yaml + export M64P_VERSION=$(python3 scripts/get_release_version.py) + export M64P_LINUX_URL=$(python3 scripts/get_linux_asset.py $M64P_VERSION) + sed -i "s~M64PVERSION~$M64P_VERSION~g" snap/snapcraft.yaml sed -i "s~M64PURL~$M64P_LINUX_URL~g" snap/snapcraft.yaml snapcraft --enable-experimental-extensions snapcraft upload --release=stable *.snap diff --git a/.github/workflows/toolbox.yml b/.github/workflows/toolbox.yml index 376eb28..571e3b0 100644 --- a/.github/workflows/toolbox.yml +++ b/.github/workflows/toolbox.yml @@ -1,11 +1,7 @@ name: Upload toolbox container on: - push: - branches: - - main - paths: - - "toolbox/**" + release: workflow_dispatch: env: @@ -13,7 +9,6 @@ env: IMAGE_REGISTRY: quay.io REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }} PYTHON_VERSION: "3.9" - VERSION: "v2022.2.3" jobs: build-toolbox: @@ -36,9 +31,10 @@ jobs: - name: Run podman run: | pip install requests - export M64P_LINUX_URL=$(python3 ../scripts/get_linux_asset.py ${{ env.VERSION }}) + export M64P_VERSION=$(python3 ../scripts/get_release_version.py) + export M64P_LINUX_URL=$(python3 ../scripts/get_linux_asset.py $M64P_VERSION) sed -i "s~M64PURL~$M64P_LINUX_URL~g" Containerfile - podman build . --tag quay.io/loganmc10/m64p:latest --tag quay.io/loganmc10/m64p:${{ env.VERSION }} + podman build . --tag quay.io/loganmc10/m64p:latest --tag quay.io/loganmc10/m64p:$M64P_VERSION podman push quay.io/loganmc10/m64p:latest - podman push quay.io/loganmc10/m64p:${{ env.VERSION }} + podman push quay.io/loganmc10/m64p:$M64P_VERSION working-directory: toolbox diff --git a/scripts/get_release_version.py b/scripts/get_release_version.py new file mode 100755 index 0000000..fcb5128 --- /dev/null +++ b/scripts/get_release_version.py @@ -0,0 +1,13 @@ +#!/usr/bin/python3 + +import requests + + +def main(): + resp = requests.get("https://api.github.com/repos/m64p/m64p/releases/latest") + resp.raise_for_status() + print(resp.json()["tag_name"]) + + +if __name__ == "__main__": + main()