Skip to content

cache add

cache add #27

Workflow file for this run

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 }}