Skip to content

push2ghcrio

push2ghcrio #1

Workflow file for this run

name: push2ghcri
on:
repository_dispatch:
types: [backend_automation]
workflow_dispatch:
jobs:
docker_schedule:
if: (github.event_name == 'workflow_dispatch') || (github.event_name == 'schedule')
strategy:
fail-fast: false
matrix:
image:
- microbiomedata/bbtools:38.96
- microbiomedata/spades:3.15.0
runs-on: ubuntu-latest
timeout-minutes: 420
outputs:
tag: ${{ steps.env_tag.outputs.tag }}
tag_noarch: ${{ steps.env_tag_noarch.outputs.tag_noarch }}
steps:
- name: Login to GitHub Container Registry
if: ${{ github.actor == github.repository_owner }}
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: docker tag
run: |
echo "tag=ghcr.io/${{ github.actor }}/docker2ghcrio-${{ matrix.image }}" >> $GITHUB_ENV
shell: bash
- name: echo docker tag to env
id: env_tag
run:
echo "tag=${{ env.tag }}" >> $GITHUB_OUTPUT
- name: build date
id: build-date
run: |
echo "date=$(TZ=America/Los_Angeles date +%Y%m%d_%H%M%S)" >> $GITHUB_ENV
- name: print env
run: |
echo "GITHUB_ENV" `cat $GITHUB_ENV`
echo " tag " ${{ env.tag }}
- name: pull image from docker hub and push it to ghcr.io
run: |
docker pull ${{ matrix.image }}
docker save -o ${{ matrix.image }}.tar ${{ matrix.image }}
echo ${{ secrets.GITHUB_TOKEN }} | docker login -u ${{ github.actor }} --password-stdin
docker push ghcr.io/${{ github.repository_owner }}/${{ env.tag }}:latest
- name: pull image from ghcr.io and test it
run: |
docker pull ghcr.io/${{ github.repository_owner }}/${{ env.tag }}:latest
docker run --rm ghcr.io/${{ github.repository_owner }}/${{ env.tag }}:latest ls -lrt /