71 lines
3.1 KiB
YAML
71 lines
3.1 KiB
YAML
name: Docker release build
|
|
|
|
on:
|
|
release:
|
|
types: [published]
|
|
|
|
jobs:
|
|
build:
|
|
if: github.repository == 'rclone/rclone'
|
|
runs-on: ubuntu-latest
|
|
name: Build image job
|
|
steps:
|
|
- name: Checkout master
|
|
uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 0
|
|
- name: Get actual patch version
|
|
id: actual_patch_version
|
|
run: echo ::set-output name=ACTUAL_PATCH_VERSION::$(echo $GITHUB_REF | cut -d / -f 3 | sed 's/v//g')
|
|
- name: Get actual minor version
|
|
id: actual_minor_version
|
|
run: echo ::set-output name=ACTUAL_MINOR_VERSION::$(echo $GITHUB_REF | cut -d / -f 3 | sed 's/v//g' | cut -d "." -f 1,2)
|
|
- name: Get actual major version
|
|
id: actual_major_version
|
|
run: echo ::set-output name=ACTUAL_MAJOR_VERSION::$(echo $GITHUB_REF | cut -d / -f 3 | sed 's/v//g' | cut -d "." -f 1)
|
|
- name: Build and publish image
|
|
uses: ilteoood/docker_buildx@1.1.0
|
|
with:
|
|
tag: latest,${{ steps.actual_patch_version.outputs.ACTUAL_PATCH_VERSION }},${{ steps.actual_minor_version.outputs.ACTUAL_MINOR_VERSION }},${{ steps.actual_major_version.outputs.ACTUAL_MAJOR_VERSION }}
|
|
imageName: rclone/rclone
|
|
platform: linux/amd64,linux/386,linux/arm64,linux/arm/v7
|
|
publish: true
|
|
dockerHubUser: ${{ secrets.DOCKER_HUB_USER }}
|
|
dockerHubPassword: ${{ secrets.DOCKER_HUB_PASSWORD }}
|
|
|
|
build_docker_volume_plugin:
|
|
if: github.repository == 'rclone/rclone'
|
|
needs: build
|
|
runs-on: ubuntu-latest
|
|
name: Build and publish docker volume plugin
|
|
steps:
|
|
- name: Checkout master
|
|
uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 0
|
|
- name: Set plugin parameters
|
|
shell: bash
|
|
run: |
|
|
GITHUB_REF=${{ github.ref }}
|
|
|
|
PLUGIN_IMAGE_USER=rclone
|
|
PLUGIN_IMAGE_NAME=docker-volume-rclone
|
|
PLUGIN_IMAGE_TAG=${GITHUB_REF#refs/tags/}
|
|
PLUGIN_IMAGE=${PLUGIN_IMAGE_USER}/${PLUGIN_IMAGE_NAME}:${PLUGIN_IMAGE_TAG}
|
|
PLUGIN_IMAGE_LATEST=${PLUGIN_IMAGE_USER}/${PLUGIN_IMAGE_NAME}:latest
|
|
|
|
echo "PLUGIN_IMAGE_USER=${PLUGIN_IMAGE_USER}" >> $GITHUB_ENV
|
|
echo "PLUGIN_IMAGE_NAME=${PLUGIN_IMAGE_NAME}" >> $GITHUB_ENV
|
|
echo "PLUGIN_IMAGE_TAG=${PLUGIN_IMAGE_TAG}" >> $GITHUB_ENV
|
|
echo "PLUGIN_IMAGE=${PLUGIN_IMAGE}" >> $GITHUB_ENV
|
|
echo "PLUGIN_IMAGE_LATEST=${PLUGIN_IMAGE_LATEST}" >> $GITHUB_ENV
|
|
- name: Build image
|
|
shell: bash
|
|
run: |
|
|
make docker-plugin
|
|
- name: Push image
|
|
shell: bash
|
|
run: |
|
|
docker login -u ${{ secrets.DOCKER_HUB_USER }} -p ${{ secrets.DOCKER_HUB_PASSWORD }}
|
|
make docker-plugin-push PLUGIN_IMAGE=${PLUGIN_IMAGE}
|
|
make docker-plugin-push PLUGIN_IMAGE=${PLUGIN_IMAGE_LATEST}
|