65 lines
2.5 KiB
YAML
65 lines
2.5 KiB
YAML
# This defines the name of the workflow as it will appear in the "Actions" tab of the Gitea repository.
|
|
name: Production deployment
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'v*'
|
|
|
|
env:
|
|
HOMEBREW_REPO: "git@gitea.skydust.fr:Skydust/homebrew-clearscript.git"
|
|
|
|
jobs:
|
|
build-docker:
|
|
name: Building and pushing
|
|
runs-on: skydust-runner
|
|
timeout-minutes: 30
|
|
steps:
|
|
- name: Check out repo's default branch
|
|
uses: actions/checkout@v4
|
|
- name: Getting version
|
|
uses: https://gitea.skydust.fr/actions/get-version@main
|
|
- name: Update package version
|
|
run: |
|
|
log_info "Updating version in version.sh to $(yellow)$NEW_VERSION"
|
|
sed -Ei "s|^(Version=\")[^\"]*|\1${NEW_VERSION}|" version.sh
|
|
cat version.sh
|
|
- name: TARRRRRRRR and push
|
|
run: |
|
|
PACKAGE_NAME="clearscript-v${NEW_VERSION}"
|
|
log_info "Packaging app into $(yellow)${PACKAGE_NAME}"
|
|
tar -zcf "${PACKAGE_NAME}.tar.gz" Clear.sh version.sh README.md
|
|
|
|
log_info "Sending package"
|
|
PKG_URL="${GITHUB_SERVER_URL}/api/packages/Skydust/generic/brew-clearscript/${NEW_VERSION}/package.tar.gz"
|
|
curl --user "MilaBot:${{ secrets.CI_TOKEN }}" \
|
|
--upload-file "${PACKAGE_NAME}.tar.gz" \
|
|
"${PKG_URL}"
|
|
|
|
echo "PKG_SHA=$(sha256 -q "${PACKAGE_NAME}.tar.gz" | tr -d '\n')" >> $GITEA_ENV
|
|
echo "PKG_URL=${PKG_URL}" >> $GITEA_ENV
|
|
- name: Update homebrew repo
|
|
run: |
|
|
git config user.email "release@example.com"
|
|
git config user.name "Release"
|
|
|
|
log_info "Overriding git repository auth with PAT"
|
|
repo_url="$(git remote get-url origin)"
|
|
repo_url="${repo_url#https://}" # Remove HTTPS
|
|
GIT_NEW_URL="https://MilaBot:${{ secrets.CI_TOKEN }}@${repo_url}.git"
|
|
git remote set-url origin "$GIT_NEW_URL"
|
|
git config --local --unset http.https://${GITHUB_SERVER_URL#https://}/.extraheader
|
|
|
|
log_info "Shallow cloning the brew repo $(yellow)${HOMEBREW_REPO}"
|
|
git clone --depth 1 "${HOMEBREW_REPO}" ./brew_repo/
|
|
cd brew_repo/
|
|
|
|
log_info "Modifying brew version"
|
|
sed -Ei "s|(url \")[^\"]*|\1${PKG_URL}|" Formula/clearscript.rb
|
|
sed -Ei "s|(sha256 \")[^\"]*|\1${PKG_SHA}|" Formula/clearscript.rb
|
|
cat Formula/clearscript.rb
|
|
|
|
log_info "Pushing the new version"
|
|
git add Formula
|
|
git push
|