Skip to content

CI

CI #282

Workflow file for this run

on:
push:
pull_request:
workflow_dispatch:
schedule:
- cron: '0 0 * * 4'
name: CI
jobs:
docker:
name: Docker
defaults:
run:
shell: bash --noprofile --norc -exo pipefail {0}
strategy:
fail-fast: false
matrix:
docker_version:
- 18.09
- 19.03
- "20.10"
docker_channel:
- stable
- test
# - nightly
os:
- ubuntu-20.04
- ubuntu-22.04
- ubuntu-latest
- macos-12
include:
# macOS
- os: macos-latest
docker_channel: stable
docker_version: "20.10"
runs-on: ${{ matrix.os }}
# timeout-minutes: 20
steps:
- uses: actions/checkout@main
with:
fetch-depth: 2
- uses: azure/docker-login@v1
if: |
github.event_name == 'push'
with:
# login-server: contoso.azurecr.io
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: setup Docker
uses: ./
# uses: docker-practice/actions-setup-docker@master
with:
docker_version: ${{ matrix.docker_version }}
docker_channel: ${{ matrix.docker_channel }}
- name: Setup tmate session
uses: mxschmitt/action-tmate@master
if: ${{ failure() }}
timeout-minutes: 60
- name: Test
run: |
# set -x
docker version
cat /etc/docker/daemon.json || true
cat /Users/runner/.docker/daemon.json || true
docker buildx version || true
docker buildx ls || true
docker-default:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest
# timeout-minutes: 20
defaults:
run:
shell: bash --noprofile --norc -exo pipefail {0}
steps:
- uses: actions/checkout@main
with:
fetch-depth: 2
- name: setup docker(default)
uses: ./
# uses: docker-practice/actions-setup-docker@master
- name: Setup tmate session
uses: mxschmitt/action-tmate@master
if: ${{ failure() }}
timeout-minutes: 60
- run: docker version
# Login docker hub or other docker registry
# test docker login
- uses: azure/docker-login@v1
if: |
github.event_name == 'push'
with:
# login-server: contoso.azurecr.io
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
# - name: docker login by cli
# run: |
# echo ${docker_password} | docker login -u ${docker_username} --password-stdin ${docker_registry:-}
# if: |
# github.event_name == 'push'
# env:
# # docker_registry: contoso.azurecr.io
# docker_username: ${{ secrets.DOCKER_USERNAME }}
# docker_password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build Docker Image
run: |
# set -x
push=
if [ "${push_image}" = 'true' ];then
push='--push'
fi
echo 'FROM --platform=${TARGETPLATFORM} alpine' > Dockerfile
echo 'RUN set -x ; apk add --no-cache curl' >> Dockerfile
# fix macos docker auth
sed -i "" 's/credsStore/_credsStore/g' ${DOCKER_CONFIG}/config.json || true
tag=${version:-20.10}-${channel:-stable}-${os}
docker buildx build \
-t khs1994/alpine:${tag} \
${push} \
--platform linux/arm64,linux/amd64 \
.
env:
os: ${{ matrix.os }}
# version: ${{ matrix.docker_version }}
# channel: ${{ matrix.docker_channel }}
push_image: ${{ github.event_name == 'push' }}
docker-nightly:
strategy:
fail-fast: false
matrix:
os:
- ubuntu-18.04
- ubuntu-20.04
- ubuntu-22.04
- ubuntu-latest
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash --noprofile --norc -exo pipefail {0}
steps:
- uses: actions/checkout@main
with:
fetch-depth: 2
- uses: azure/docker-login@v1
if: |
github.event_name == 'push'
with:
# login-server: contoso.azurecr.io
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: setup docker
uses: ./
# uses: docker-practice/actions-setup-docker@master
with:
docker_nightly_version: snapshot-20210202
docker_channel: nightly
- run: docker version
notsupport-platform:
strategy:
fail-fast: false
matrix:
os:
- windows-latest
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@main
with:
fetch-depth: 2
- name: setup docker(default)
uses: ./
# uses: docker-practice/actions-setup-docker@master