commit
9a5b0fbf6a
6 changed files with 85 additions and 193 deletions
28
.github/workflows/aur.yml
vendored
Normal file
28
.github/workflows/aur.yml
vendored
Normal file
|
@ -0,0 +1,28 @@
|
|||
name: Publish to AUR
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
paths-ignore:
|
||||
- '**/.gitignore'
|
||||
- '.vscode/**'
|
||||
- '**/*.md'
|
||||
- 'scripts/full-release.sh'
|
||||
- 'scripts/package-deb.sh'
|
||||
- 'src/fixtures/**'
|
||||
jobs:
|
||||
publish-to-aur:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install Archlinux
|
||||
run: curl -L https://github.com/zaoqi/github-actions-archlinux/raw/master/install.sh | sh
|
||||
- name: Install dependencies
|
||||
run: sudo pacman -Syu --noconfirm base-devel git
|
||||
- name: Configure git
|
||||
run: |
|
||||
git config --global user.email "{{ github.actor }}@users.noreply.github.com"
|
||||
git config --global user.name "{{ github.actor }}"
|
||||
- name: Publish to AUR
|
||||
run: ./scripts/publish-aur.sh
|
88
.github/workflows/release-old.yml
vendored
88
.github/workflows/release-old.yml
vendored
|
@ -1,88 +0,0 @@
|
|||
name: Release new version
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version:
|
||||
description: 'The version number to use'
|
||||
default: '0.0.0.0'
|
||||
# Input has to be provided for the workflow to run
|
||||
required: true
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Validate version number
|
||||
run: |
|
||||
# validate version structure
|
||||
bash -c '[[ ${{ github.event.inputs.version }} =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]] || exit 1'
|
||||
# ensure version doesn't already exist
|
||||
bash -c 'git rev-parse "v${{ github.event.inputs.version }}" >/dev/null 2>&1 && exit 2 || exit 0'
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2.3.3
|
||||
with:
|
||||
submodules: true
|
||||
- name: Install dependencies
|
||||
run: sudo apt install nuget mono-complete make
|
||||
- name: Update version number, and commit
|
||||
run: |
|
||||
git config --global user.name "Github Actions"
|
||||
git config --global user.email "dyc3@users.noreply.github.com"
|
||||
sed -ri "s/Version\(\"[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\"\)/Version\(\"${{ github.event.inputs.version }}\"\)/g" AssemblyInfo.cs
|
||||
git commit -m "Update version" AssemblyInfo.cs
|
||||
- name: Build
|
||||
run: |
|
||||
nuget restore SteamAuth/SteamAuth/SteamAuth.sln
|
||||
make
|
||||
mv build steamguard-cli-v${{ github.event.inputs.version }}
|
||||
tar -cf steamguard-cli-v${{ github.event.inputs.version }}.tar.gz steamguard-cli-v${{ github.event.inputs.version }}
|
||||
- name: Tag and push version commit
|
||||
run: |
|
||||
git push origin master
|
||||
git tag -a "v${{ github.event.inputs.version }}" -m "Release v${{ github.event.inputs.version }}"
|
||||
git push origin "v${{ github.event.inputs.version }}"
|
||||
- name: Upload Build Artifact
|
||||
uses: actions/upload-artifact@v2.2.0
|
||||
with:
|
||||
name: build
|
||||
path: steamguard-cli-v${{ github.event.inputs.version }}.tar.gz
|
||||
deb-package:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [build]
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2.3.3
|
||||
- name: Download Build Artifact (tar)
|
||||
uses: actions/download-artifact@v2.0.5
|
||||
with:
|
||||
name: build
|
||||
- run: |
|
||||
tar -xf steamguard-cli-v${{ github.event.inputs.version }}.tar.gz
|
||||
mv steamguard-cli-v${{ github.event.inputs.version }} build
|
||||
bash package.sh
|
||||
- name: Upload deb
|
||||
uses: actions/upload-artifact@v2.2.0
|
||||
with:
|
||||
name: deb
|
||||
path: steamguard-cli_${{ github.event.inputs.version }}-0.deb
|
||||
# TODO: update AUR pkgbuild
|
||||
draft:
|
||||
needs: [build, deb-package]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Download Build Artifact (tar)
|
||||
uses: actions/download-artifact@v2.0.5
|
||||
with:
|
||||
name: build
|
||||
- name: Download Build Artifact (deb)
|
||||
uses: actions/download-artifact@v2.0.5
|
||||
with:
|
||||
name: deb
|
||||
- name: Release Drafter
|
||||
uses: release-drafter/release-drafter@v5.11.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
name: v${{ github.event.inputs.version }}
|
||||
tag: v${{ github.event.inputs.version }}
|
||||
version: ${{ github.event.inputs.version }}
|
||||
publish: false
|
88
.github/workflows/release.yml
vendored
88
.github/workflows/release.yml
vendored
|
@ -1,88 +0,0 @@
|
|||
name: Release new version
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version:
|
||||
description: 'The version number to use'
|
||||
default: '0.0.0.0'
|
||||
# Input has to be provided for the workflow to run
|
||||
required: true
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Validate version number
|
||||
run: |
|
||||
# validate version structure
|
||||
bash -c '[[ ${{ github.event.inputs.version }} =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]] || exit 1'
|
||||
# ensure version doesn't already exist
|
||||
bash -c 'git rev-parse "v${{ github.event.inputs.version }}" >/dev/null 2>&1 && exit 2 || exit 0'
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2.3.3
|
||||
with:
|
||||
submodules: true
|
||||
- name: Install dependencies
|
||||
run: sudo apt install nuget mono-complete make
|
||||
- name: Update version number, and commit
|
||||
run: |
|
||||
git config --global user.name "Github Actions"
|
||||
git config --global user.email "dyc3@users.noreply.github.com"
|
||||
sed -ri "s/Version\(\"[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\"\)/Version\(\"${{ github.event.inputs.version }}\"\)/g" AssemblyInfo.cs
|
||||
git commit -m "Update version" AssemblyInfo.cs
|
||||
- name: Build
|
||||
run: |
|
||||
nuget restore SteamAuth/SteamAuth/SteamAuth.sln
|
||||
make
|
||||
mv build steamguard-cli-v${{ github.event.inputs.version }}
|
||||
tar -cf steamguard-cli-v${{ github.event.inputs.version }}.tar.gz steamguard-cli-v${{ github.event.inputs.version }}
|
||||
- name: Tag and push version commit
|
||||
run: |
|
||||
git push origin master
|
||||
git tag -a "v${{ github.event.inputs.version }}" -m "Release v${{ github.event.inputs.version }}"
|
||||
git push origin "v${{ github.event.inputs.version }}"
|
||||
- name: Upload Build Artifact
|
||||
uses: actions/upload-artifact@v2.2.0
|
||||
with:
|
||||
name: build
|
||||
path: steamguard-cli-v${{ github.event.inputs.version }}.tar.gz
|
||||
deb-package:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [build]
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2.3.3
|
||||
- name: Download Build Artifact (tar)
|
||||
uses: actions/download-artifact@v2.0.5
|
||||
with:
|
||||
name: build
|
||||
- run: |
|
||||
tar -xf steamguard-cli-v${{ github.event.inputs.version }}.tar.gz
|
||||
mv steamguard-cli-v${{ github.event.inputs.version }} build
|
||||
bash package.sh
|
||||
- name: Upload deb
|
||||
uses: actions/upload-artifact@v2.2.0
|
||||
with:
|
||||
name: deb
|
||||
path: steamguard-cli_${{ github.event.inputs.version }}-0.deb
|
||||
# TODO: update AUR pkgbuild
|
||||
draft:
|
||||
needs: [build, deb-package]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Download Build Artifact (tar)
|
||||
uses: actions/download-artifact@v2.0.5
|
||||
with:
|
||||
name: build
|
||||
- name: Download Build Artifact (deb)
|
||||
uses: actions/download-artifact@v2.0.5
|
||||
with:
|
||||
name: deb
|
||||
- name: Release Drafter
|
||||
uses: release-drafter/release-drafter@v5.11.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
name: v${{ github.event.inputs.version }}
|
||||
tag: v${{ github.event.inputs.version }}
|
||||
version: ${{ github.event.inputs.version }}
|
||||
publish: false
|
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -1,3 +0,0 @@
|
|||
[submodule "SteamAuth"]
|
||||
path = SteamAuth
|
||||
url = https://github.com/dyc3/SteamAuth.git
|
|
@ -76,17 +76,3 @@ if [[ $DRY_RUN == false ]]; then
|
|||
fi
|
||||
gh release create "$VERSION" --title "$VERSION" --draft "$BIN_PATH" "./steamguard-cli_$RAW_VERSION-0.deb"
|
||||
fi
|
||||
|
||||
# update PKGBUILD for AUR
|
||||
if [[ -d "aur" ]]; then
|
||||
rm -rf aur
|
||||
fi
|
||||
git clone ssh://aur@aur.archlinux.org/steamguard-cli-git.git aur
|
||||
cp PKGBUILD aur/PKGBUILD
|
||||
cd aur
|
||||
git commit -m "release $VERSION" PKGBUILD
|
||||
if [[ $DRY_RUN == false ]]; then
|
||||
git push
|
||||
rm -rf aur
|
||||
fi
|
||||
cd ..
|
||||
|
|
57
scripts/publish-aur.sh
Normal file
57
scripts/publish-aur.sh
Normal file
|
@ -0,0 +1,57 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
DRY_RUN=true
|
||||
|
||||
POSITIONAL=()
|
||||
while [[ $# -gt 0 ]]; do
|
||||
key="$1"
|
||||
|
||||
case $key in
|
||||
--execute)
|
||||
DRY_RUN=false
|
||||
shift # past argument
|
||||
;;
|
||||
*) # unknown option
|
||||
POSITIONAL+=("$1") # save it in an array for later
|
||||
shift # past argument
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# prerequisites
|
||||
if ! command -v makepkg &> /dev/null; then
|
||||
echo "Error: makepkg is not installed"
|
||||
exit 1
|
||||
fi
|
||||
if ! command -v git &> /dev/null; then
|
||||
echo "Error: git is not installed"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
|
||||
# get version info
|
||||
BIN_PATH="target/release/steamguard-cli"
|
||||
RAW_VERSION="$("$BIN_PATH" --version | cut -d " " -f 2)"
|
||||
TAGGED_VERSION="$(git tag | grep "^v" | tail -n 1 | tr -d v)"
|
||||
if [[ "v$RAW_VERSION" != "v$TAGGED_VERSION" ]]; then
|
||||
echo "Version mismatch: $RAW_VERSION != $TAGGED_VERSION"
|
||||
exit 10
|
||||
fi
|
||||
VERSION="v$RAW_VERSION"
|
||||
|
||||
# update PKGBUILD for AUR
|
||||
if [[ -d "aur" ]]; then
|
||||
rm -rf aur
|
||||
fi
|
||||
git clone ssh://aur@aur.archlinux.org/steamguard-cli-git.git aur
|
||||
cp PKGBUILD aur/PKGBUILD
|
||||
cd aur
|
||||
makepkg -si --noconfirm
|
||||
makepkg --printsrcinfo > .SRCINFO
|
||||
git commit -m "release $VERSION" PKGBUILD
|
||||
if [[ $DRY_RUN == false ]]; then
|
||||
git push
|
||||
rm -rf aur
|
||||
fi
|
||||
cd ..
|
Loading…
Reference in a new issue