cache add #27
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
name: Build test project | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
env: | |
REGISTRY: ghcr.io | |
# IMAGE_NAME: ${{ github.repository }} | |
IMAGE_NAME: meow | |
jobs: | |
init: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
packages: write | |
strategy: | |
matrix: | |
target: | |
- go_builder | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Preparing builder - ${{ matrix.target }} | |
run: | | |
docker build -f ./base.Dockerfile \ | |
-t base:${{ matrix.target }} \ | |
--target ${{ matrix.target }} \ | |
. | |
- name: Save docker image | |
run: | | |
mkdir images | |
docker save -o images/${{ matrix.target }}.tar base:${{ matrix.target }} | |
- name: Cache dependencies | |
uses: actions/cache@v3 | |
with: | |
path: images | |
key: shared-files-${{ runner.os }} | |
# docker save -o /tmp/${{ matrix.target }}.tar base:${{ matrix.target }} | |
# - name: Upload artifact | |
# uses: actions/upload-artifact@v3 | |
# with: | |
# name: ${{ matrix.target }} | |
# path: /tmp/${{ matrix.target }}.tar | |
# - name: Log into registry | |
# run: | | |
# echo "${{ secrets.GITHUB_TOKEN }}" | docker login docker.pkg.github.com -u "${{ github.actor }}" --password-stdin | |
# - uses: actions/checkout@v4 | |
# - name: Start build pingserver | |
# run: | | |
# docker images | |
# | |
# IMAGE_ID=docker.pkg.github.com/${{ github.repository }}/$IMAGE_NAME-pingserver | |
# echo IMAGE_ID=$IMAGE_ID | |
# | |
# docker build -f ./apps/pingserver/Dockerfile \ | |
# --tag $IMAGE_NAME \ | |
# . | |
# | |
# docker tag $IMAGE_NAME $IMAGE_ID:latest | |
# docker push $IMAGE_ID:latest | |
backend: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
packages: write | |
needs: | |
- init | |
strategy: | |
matrix: | |
target: | |
- pingserver | |
steps: | |
- name: Log into registry | |
run: | | |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login docker.pkg.github.com -u "${{ github.actor }}" --password-stdin | |
- uses: actions/checkout@v4 | |
- name: Restore cached dependencies | |
uses: actions/cache@v3 | |
with: | |
path: images | |
key: shared-files-${{ runner.os }} | |
# - name: Download artifact | |
# uses: actions/download-artifact@v3 | |
# with: | |
# name: go_builder | |
# path: /tmp | |
- name: Load image | |
run: | | |
docker load --input images/go_builder.tar | |
docker image ls -a | |
- name: Start build ${{ matrix.target }} | |
run: | | |
docker images | |
IMAGE_ID=docker.pkg.github.com/${{ github.repository }}/$IMAGE_NAME-${{ matrix.target }} | |
echo IMAGE_ID=$IMAGE_ID | |
docker build -f ./apps/${{ matrix.target }}/Dockerfile \ | |
--tag $IMAGE_NAME \ | |
. | |
docker tag $IMAGE_NAME $IMAGE_ID:latest | |
docker push $IMAGE_ID:latest | |
# -t ${{ github.actor }}/testci-${{ matrix.target }}:latest . | |
# --cache-from type=gha,scope=twir-base:${{ matrix.target }} \ | |
# --cache-to type=gha,mode=max,scope=twir-base:${{ matrix.target }} \ | |
# steps: | |
# - name: Checkout Repository | |
# uses: actions/checkout@v4 | |
# - name: Log in to the Container registry | |
# uses: docker/login-action@v3 | |
# with: | |
# registry: ${{ env.REGISTRY }} | |
# username: ${{ github.actor }} | |
# password: ${{ secrets.GITHUB_TOKEN }} | |
# - name: Extract metadata (tags, labels) for Docker | |
# id: meta | |
# uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 | |
# with: | |
# images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} | |
# - name: Build and push Docker image PING | |
# uses: docker/build-push-action@v5 | |
# with: | |
# context: apps/pingserver | |
# file: apps/pingserver/base.Dockerfile | |
# push: true | |
# tags: ${{ steps.meta.outputs.tags }}-pingpong | |
# labels: ${{ steps.meta.outputs.labels }} | |
# - name: Build and push Docker image HI | |
# uses: docker/build-push-action@v5 | |
# with: | |
# context: apps/hiserver | |
# push: true | |
# tags: ${{ steps.meta.outputs.tags }}-hiserver | |
# labels: ${{ steps.meta.outputs.labels }} |