mirror of
https://github.com/dokku/dokku.git
synced 2025-12-15 19:47:42 +01:00
While these don't (yet?) get submitted to the Digitalocean marketplace, it should bring us most of the way of making that possible. The next step would be to somehow get notifications of the new image snapshot sent... Somewhere and have the lovely DO folks test/release it for us.
142 lines
4.4 KiB
YAML
142 lines
4.4 KiB
YAML
---
|
|
name: 'release'
|
|
|
|
# yamllint disable-line rule:truthy
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
release_type:
|
|
description: 'Release type [build, betafish, patch, minor, major]'
|
|
required: true
|
|
default: 'build'
|
|
|
|
jobs:
|
|
release:
|
|
name: release
|
|
runs-on: ubuntu-20.04
|
|
env:
|
|
PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }}
|
|
outputs:
|
|
version: ${{ steps.version.outputs.version }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- uses: ruby/setup-ruby@v1
|
|
with:
|
|
ruby-version: 2.6
|
|
|
|
- name: login to docker hub
|
|
uses: docker/login-action@v2
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
- name: set up qemu
|
|
uses: docker/setup-qemu-action@v2
|
|
|
|
- name: set up docker buildx
|
|
id: buildx
|
|
uses: docker/setup-buildx-action@v2
|
|
|
|
- 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@v3
|
|
with:
|
|
name: build
|
|
path: build
|
|
|
|
build-digitalocean:
|
|
name: build-digitalocean
|
|
runs-on: ubuntu-20.04
|
|
needs: release
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v3
|
|
|
|
- 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:
|
|
PKR_VAR_dokku_version: ${{ needs.release.outputs.version }}
|
|
run: "make image/validate/digitalocean"
|
|
|
|
- name: Bump Digitalocean Image
|
|
env:
|
|
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
|
|
PKR_VAR_dokku_version: ${{ needs.release.outputs.version }}
|
|
run: "make image/build/digitalocean"
|
|
|
|
- name: upload packages
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: digitalocean-manifest.json
|
|
path: digitalocean-manifest.json
|
|
|
|
bump-azure:
|
|
name: bump-azure
|
|
runs-on: ubuntu-20.04
|
|
needs: release
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v3
|
|
- 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: 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
|