mirror of
https://github.com/dokku/dokku.git
synced 2025-12-28 16:06:40 +01:00
172 lines
5.3 KiB
YAML
172 lines
5.3 KiB
YAML
---
|
|
name: "release"
|
|
|
|
# yamllint disable-line rule:truthy
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
release_type:
|
|
description: "Release type"
|
|
default: "patch"
|
|
required: true
|
|
type: choice
|
|
options:
|
|
- patch
|
|
- minor
|
|
- major
|
|
- build
|
|
- betafish
|
|
jobs:
|
|
release:
|
|
name: release
|
|
runs-on: ubuntu-24.04
|
|
env:
|
|
PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }}
|
|
outputs:
|
|
version: ${{ steps.version.outputs.version }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- uses: ruby/setup-ruby@v1
|
|
with:
|
|
ruby-version: 2.7
|
|
|
|
- name: login to docker hub
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
- name: set up qemu
|
|
uses: docker/setup-qemu-action@v3
|
|
|
|
- name: set up docker buildx
|
|
id: buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
|
|
- name: inspect builder
|
|
run: |
|
|
echo "Name: ${{ steps.buildx.outputs.name }}"
|
|
echo "Endpoint: ${{ steps.buildx.outputs.endpoint }}"
|
|
echo "Status: ${{ steps.buildx.outputs.status }}"
|
|
echo "Flags: ${{ steps.buildx.outputs.flags }}"
|
|
echo "Platforms: ${{ steps.buildx.outputs.platforms }}"
|
|
|
|
- name: install package_cloud
|
|
run: gem install package_cloud
|
|
|
|
- name: configure git
|
|
run: |
|
|
git config --global user.name 'Dokku Bot'
|
|
git config --global user.email no-reply@dokku.com
|
|
|
|
- name: build package
|
|
env:
|
|
RELEASE_GITHUB_USERNAME: ${{ secrets.HOMEBREW_GITHUB_USERNAME }}
|
|
RELEASE_GITHUB_API_TOKEN: ${{ secrets.HOMEBREW_GITHUB_API_TOKEN }}
|
|
run: contrib/release-dokku ${{ github.event.inputs.release_type }}
|
|
|
|
- name: output version
|
|
id: version
|
|
run: echo "version=$(cat build/next-version)" >> $GITHUB_OUTPUT
|
|
|
|
- name: upload packages
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: build
|
|
path: build
|
|
|
|
build-digitalocean:
|
|
name: build-digitalocean
|
|
runs-on: ubuntu-24.04
|
|
needs: release
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup packer
|
|
uses: hashicorp/setup-packer@main
|
|
with:
|
|
version: latest
|
|
|
|
- name: Run packer init
|
|
run: "make image/init/digitalocean"
|
|
|
|
- name: Run `packer validate`
|
|
env:
|
|
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
|
|
run: |
|
|
VERSION=${{ needs.release.outputs.version }}
|
|
PKR_VAR_dokku_version="${VERSION:1}" make image/validate/digitalocean
|
|
|
|
- name: Bump Digitalocean Image
|
|
env:
|
|
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
|
|
run: |
|
|
VERSION=${{ needs.release.outputs.version }}
|
|
PKR_VAR_dokku_version="${VERSION:1}" make image/build/digitalocean
|
|
|
|
- name: upload packages
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: digitalocean-manifest.json
|
|
path: digitalocean-manifest.json
|
|
|
|
bump-azure:
|
|
name: bump-azure
|
|
runs-on: ubuntu-24.04
|
|
needs: release
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
- name: Bump Azure Template
|
|
env:
|
|
BOT_GITHUB_USERNAME: ${{ secrets.HOMEBREW_GITHUB_USERNAME }}
|
|
BOT_GITHUB_API_TOKEN: ${{ secrets.HOMEBREW_GITHUB_API_TOKEN }}
|
|
run: |
|
|
VERSION=${{ needs.release.outputs.version }}
|
|
git config --global user.name 'Dokku Bot'
|
|
git config --global user.email no-reply@dokku.com
|
|
.github/commands/bump-azure "${VERSION:1}" "$BOT_GITHUB_USERNAME" "$BOT_GITHUB_API_TOKEN"
|
|
|
|
bump-formula:
|
|
name: bump-formula
|
|
runs-on: macos-latest
|
|
needs: release
|
|
steps:
|
|
- name: Brew doctor
|
|
run: |
|
|
brew doctor || true
|
|
- name: Brew cleanup
|
|
run: |
|
|
echo "====> Running brew cleanup"
|
|
brew cleanup || true
|
|
echo "====> Untapping homebrew/core"
|
|
brew untap homebrew/core || true
|
|
echo "====> Untapping homebrew/cask"
|
|
brew untap homebrew/cask || true
|
|
echo "====> Uninstalling openssl@1.1"
|
|
brew uninstall openssl@1.1 || true
|
|
echo "====> Uninstalling ruby@3.0"
|
|
brew uninstall ruby@3.0 || true
|
|
echo "====> Running brew cleanup"
|
|
brew cleanup || true
|
|
- name: Brew doctor
|
|
run: brew doctor
|
|
- name: Brew config
|
|
run: brew config
|
|
- name: Bump Homebrew Formula
|
|
env:
|
|
HOMEBREW_GITHUB_USERNAME: ${{ secrets.HOMEBREW_GITHUB_USERNAME }}
|
|
HOMEBREW_GITHUB_API_TOKEN: ${{ secrets.HOMEBREW_GITHUB_API_TOKEN }}
|
|
run: |
|
|
git config --global user.name 'Dokku Bot'
|
|
git config --global user.email no-reply@dokku.com
|
|
curl -sSL https://github.com/dokku/netrc/releases/download/v0.4.1/netrc_0.4.1_darwin_x86_64.tgz | tar xvf -
|
|
mv netrc /usr/local/bin/netrc
|
|
netrc set github.com "$HOMEBREW_GITHUB_USERNAME" "$HOMEBREW_GITHUB_API_TOKEN"
|
|
brew tap dokku/repo
|
|
brew bump-formula-pr -f --no-browse --no-audit --no-fork --debug --verbose --url "https://github.com/dokku/dokku/archive/${{ needs.release.outputs.version }}.tar.gz" dokku/repo/dokku
|