feat: build digitalocean images in ci on release

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.
This commit is contained in:
Jose Diaz-Gonzalez
2023-02-16 14:21:36 -05:00
parent 6c099c4ad0
commit ae1b695fc5
2 changed files with 38 additions and 0 deletions

View File

@@ -72,6 +72,39 @@ jobs:
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

View File

@@ -35,6 +35,11 @@ ifdef DOKKU_GIT_REV
else
git rev-parse HEAD > /tmp/build-dokku/var/lib/dokku/GIT_REV
endif
.PHONY: image/build/digitalocean
image/build/digitalocean:
packer build -var 'dokku_version=${PKR_VAR_dokku_version}' contrib/images/digitalocean/packer.pkr.hcl
.PHONY: image/init/digitalocean
image/init/digitalocean:
packer init contrib/images/digitalocean/packer.pkr.hcl