This action allows you to upload an artifact. It will then download it in the background to ensure the upload was successful. You can additionally issue pre and post commands.
The following inputs can be used to alter the Docker tag name determination:
Input | Required | Default | Description |
---|---|---|---|
name |
Yes | `` | The artifact name. |
path |
Yes | `` | The local file to upload. |
pre_command |
No | `` | A bash command to execute before uploading the artifact (e.g.: to create the artifact) |
post_command |
No | `` | A bash command to execute after downloading the artifact (e.g.: to verify it is the desired file) The {{download_path}} placeholder is available to refer to the downloaded file. |
None
on: [push]
jobs:
job1:
runs-on: ubuntu-latest
name: Pull docker image
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Create artifact
id: file
shell: bash
run: |
PRE_RAND="$( ${RAND} | md5sum | head -c 20; )"
PRE_DATE="$( date '+%s' )"
NAME="${PRE_RAND}-${PRE_DATE}.txt"
echo "somedata" > "${NAME}"
echo "::set-output name=path::${NAME}"
- name: upload artifact
uses: cytopia/[email protected]
with:
name: ${{ steps.file.outputs.path }}
path: ${{ steps.file.outputs.path }}
on: [push]
jobs:
job1:
runs-on: ubuntu-latest
name: Pull docker image
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 0
# TRY-1
# export docker image to file
# upload file
# download file
# import downloaded file into docker
- name: upload docker image (try-1)
id: upload-1
uses: cytopia/[email protected]
continue-on-error: true
with:
name: php-fpm-8.1-work
path: php-fpm-8.1-work
pre_command: |
docker save devilbox/php-fpm:8.1-work | gzip > php-fpm-8.1-work
post_command: |
docker load -i {{download_path}}
# TRY-2
# export docker image to file
# upload file
# download file
# import downloaded file into docker
- name: upload docker image (try-2)
id: upload-2
uses: cytopia/[email protected]
with:
name: php-fpm-8.1-work
path: php-fpm-8.1-work
pre_command: |
docker save devilbox/php-fpm:8.1-work | gzip > php-fpm-8.1-work
post_command: |
docker load -i {{download_path}}
if: steps.upload-1.outcome == 'failure'
Since Dependabot has native GitHub Actions support, to enable it on your GitHub repo all you need to do is add the .github/dependabot.yml
file:
version: 2
updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
cytopia GitHub Actions
Name | Description |
---|---|
docker-tag-action | Determines Docker tags based on git branch, commit or git tag |
git-ref-matrix-action | Create stringified JSON list of git refs to be used as a build matrix |
shell-command-retry-action | Retries shell commands to avoid failing pipelines due to network issues |
upload-artifact-verify-action | Upload artifact and verifies it by downloading it again |
upload-artifact-retry-action | Retries upload-artifact-verify-action |
download-artifact-retry-action | Download artifact with retry functionality |
Copyright (c) 2022 cytopia