CI #296
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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" | |
- "23.0" | |
- "24.0" | |
docker_channel: | |
- stable | |
- test | |
# - nightly | |
os: | |
- ubuntu-20.04 | |
- ubuntu-22.04 | |
- ubuntu-latest | |
- macos-13 | |
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-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 |