|
|
@ -12,15 +12,17 @@ on: |
|
|
|
options: |
|
|
|
- master |
|
|
|
- develop |
|
|
|
- testing |
|
|
|
tag: |
|
|
|
description: 'Add a tag' |
|
|
|
push: |
|
|
|
branches: |
|
|
|
- develop |
|
|
|
- testing |
|
|
|
paths-ignore: |
|
|
|
- '.github/**' |
|
|
|
jobs: |
|
|
|
push_to_ghcr_io: |
|
|
|
build-and-push-it-to-the-limit: |
|
|
|
runs-on: ubuntu-latest |
|
|
|
steps: |
|
|
|
- name: checkout |
|
|
@ -30,61 +32,81 @@ jobs: |
|
|
|
- name: Get the version |
|
|
|
id: get_version |
|
|
|
run: echo ::set-output name=VERSION::${{ github.event.release.tag_name }} |
|
|
|
|
|
|
|
- name: Set current date as env variable |
|
|
|
id: date_time |
|
|
|
run: echo ::set-output name=NOW::$(date +'%Y-%m-%dT%H:%M:%S') |
|
|
|
|
|
|
|
- name: Set up QEMU |
|
|
|
uses: docker/setup-qemu-action@v1 |
|
|
|
|
|
|
|
- name: Set up Docker Buildx |
|
|
|
id: buildx |
|
|
|
uses: docker/setup-buildx-action@v1 |
|
|
|
|
|
|
|
- name: Docker meta |
|
|
|
id: metadata |
|
|
|
uses: docker/metadata-action@v3 |
|
|
|
with: |
|
|
|
images: | |
|
|
|
ghcr.io/gilbn/theme.park |
|
|
|
gilbn/theme.park |
|
|
|
tags: | |
|
|
|
type=ref,event=branch |
|
|
|
|
|
|
|
- name: Login to GitHub Container Registry |
|
|
|
uses: docker/login-action@v1 |
|
|
|
with: |
|
|
|
registry: ghcr.io |
|
|
|
username: ${{ github.repository_owner }} |
|
|
|
password: ${{ secrets.GH_PAT }} |
|
|
|
- name: build&push master |
|
|
|
if: ${{ github.event.release.target_commitish == 'master' }} |
|
|
|
run: | |
|
|
|
docker build --build-arg TP_RELEASE=${{ steps.get_version.outputs.VERSION }} --build-arg BUILD_DATE=${{ steps.date_time.outputs.NOW }} --tag ghcr.io/gilbn/theme.park --tag ghcr.io/gilbn/theme.park:${{ steps.get_version.outputs.VERSION }} . |
|
|
|
docker push --all-tags ghcr.io/gilbn/theme.park |
|
|
|
- name: manual build&push master |
|
|
|
if: ${{ github.event.inputs.branch == 'master' }} |
|
|
|
run: | |
|
|
|
docker build --build-arg TP_RELEASE=${{ github.event.inputs.tag }} --build-arg BUILD_DATE=${{ steps.date_time.outputs.NOW }} --tag ghcr.io/gilbn/theme.park --tag ghcr.io/gilbn/theme.park:${{ github.event.inputs.tag }} . |
|
|
|
docker push --all-tags ghcr.io/gilbn/theme.park |
|
|
|
- name: build&push develop |
|
|
|
if: ${{ github.ref == 'refs/heads/develop' || github.event.inputs.branch == 'develop' }} |
|
|
|
run: | |
|
|
|
docker build --build-arg TP_RELEASE=${{ steps.get_version.outputs.VERSION }} --build-arg BUILD_DATE=${{ steps.date_time.outputs.NOW }} --tag ghcr.io/gilbn/theme.park:develop . |
|
|
|
docker push --all-tags ghcr.io/gilbn/theme.park |
|
|
|
push_to_dockerhub: |
|
|
|
runs-on: ubuntu-latest |
|
|
|
steps: |
|
|
|
- name: checkout |
|
|
|
uses: actions/checkout@v2 |
|
|
|
with: |
|
|
|
fetch-depth: 0 |
|
|
|
- name: Get the version |
|
|
|
id: get_version |
|
|
|
run: echo ::set-output name=VERSION::${{ github.event.release.tag_name }} |
|
|
|
- name: Set current date as env variable |
|
|
|
id: date_time |
|
|
|
run: echo ::set-output name=NOW::$(date +'%Y-%m-%dT%H:%M:%S') |
|
|
|
|
|
|
|
- name: Login to Docker Hub |
|
|
|
uses: docker/login-action@v1 |
|
|
|
with: |
|
|
|
username: ${{ secrets.DH_USER }} |
|
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }} |
|
|
|
- name: build&push dh master |
|
|
|
|
|
|
|
- name: build&push master |
|
|
|
if: ${{ github.event.release.target_commitish == 'master' }} |
|
|
|
run: | |
|
|
|
docker build --build-arg TP_RELEASE=${{ steps.get_version.outputs.VERSION }} --build-arg BUILD_DATE=${{ steps.date_time.outputs.NOW }} --tag gilbn/theme.park --tag gilbn/theme.park:${{ steps.get_version.outputs.VERSION }} . |
|
|
|
docker push --all-tags gilbn/theme.park |
|
|
|
- name: manual build&push dh master |
|
|
|
uses: docker/build-push-action@v2 |
|
|
|
with: |
|
|
|
context: . |
|
|
|
platforms: linux/amd64,linux/arm/v7,linux/arm64 |
|
|
|
push: ${{ github.event_name != 'pull_request' }} |
|
|
|
tags: latest |
|
|
|
labels: ${{ steps.metadata.outputs.labels }} |
|
|
|
build-args: TP_RELEASE=${{ steps.get_version.outputs.VERSION }},BUILD_DATE=${{ steps.date_time.outputs.NOW }} |
|
|
|
|
|
|
|
- name: manual build&push master |
|
|
|
if: ${{ github.event.inputs.branch == 'master' }} |
|
|
|
run: | |
|
|
|
docker build --build-arg TP_RELEASE=${{ github.event.inputs.tag }} --build-arg BUILD_DATE=${{ steps.date_time.outputs.NOW }} --tag gilbn/theme.park --tag gilbn/theme.park:${{ github.event.inputs.tag }} . |
|
|
|
docker push --all-tags gilbn/theme.park |
|
|
|
- name: build&push dh develop |
|
|
|
uses: docker/build-push-action@v2 |
|
|
|
with: |
|
|
|
context: . |
|
|
|
platforms: linux/amd64,linux/arm/v7,linux/arm64 |
|
|
|
push: ${{ github.event_name != 'pull_request' }} |
|
|
|
tags: latest, ${{ github.event.inputs.tag }} |
|
|
|
labels: ${{ steps.metadata.outputs.labels }} |
|
|
|
build-args: TP_RELEASE=${{ steps.get_version.outputs.VERSION }},BUILD_DATE=${{ steps.date_time.outputs.NOW }} |
|
|
|
|
|
|
|
- name: build&push develop |
|
|
|
if: ${{ github.ref == 'refs/heads/develop' || github.event.inputs.branch == 'develop' }} |
|
|
|
run: | |
|
|
|
docker build --build-arg TP_RELEASE=${{ steps.get_version.outputs.VERSION }} --build-arg BUILD_DATE=${{ steps.date_time.outputs.NOW }} --tag gilbn/theme.park:develop . |
|
|
|
docker push --all-tags gilbn/theme.park |
|
|
|
uses: docker/build-push-action@v2 |
|
|
|
with: |
|
|
|
context: . |
|
|
|
platforms: linux/amd64,linux/arm/v7,linux/arm64 |
|
|
|
push: ${{ github.event_name != 'pull_request' }} |
|
|
|
tags: ${{ steps.metadata.outputs.tags }} |
|
|
|
labels: ${{ steps.metadata.outputs.labels }} |
|
|
|
build-args: TP_RELEASE=${{ steps.get_version.outputs.VERSION }},BUILD_DATE=${{ steps.date_time.outputs.NOW }} |
|
|
|
|
|
|
|
- name: build&push testing |
|
|
|
if: ${{ github.ref == 'refs/heads/testing' || github.event.inputs.branch == 'testing' }} |
|
|
|
uses: docker/build-push-action@v2 |
|
|
|
with: |
|
|
|
context: . |
|
|
|
platforms: linux/amd64,linux/arm/v7,linux/arm64 |
|
|
|
push: ${{ github.event_name != 'pull_request' }} |
|
|
|
tags: ${{ steps.metadata.outputs.tags }} |
|
|
|
labels: ${{ steps.metadata.outputs.labels }} |
|
|
|
build-args: TP_RELEASE=${{ steps.get_version.outputs.VERSION }},BUILD_DATE=${{ steps.date_time.outputs.NOW }} |
|
|
|