diff --git a/.github/workflows/basic-image-push.yml b/.github/workflows/basic-image-push.yml new file mode 100644 index 0000000000000000000000000000000000000000..8f578cade4a77cdf8e0cf6537c9b377072c366e4 --- /dev/null +++ b/.github/workflows/basic-image-push.yml @@ -0,0 +1,58 @@ +name: openEuler Basic Image + +on: + pull_request: + # Only trigger job when file in openeuler changed + paths: + - 'openeuler' + - '.github/workflows/basic-image-push.yml' + branches: [ master ] + +jobs: + build: + strategy: + matrix: + version: [20.03-lts, 20.03-lts-sp1, 20.03-lts-sp2, 20.09, 21.03, 21.09] + + runs-on: ubuntu-latest + + steps: + + - name: Checkout repository + uses: actions/checkout@v2 + + - name: cache + uses: actions/cache@v2 + with: + path: | + openeuler/2* + key: build-${{ hashFiles('openeuler/*') }} + restore-keys: | + build- + - name: Download openEuler images + working-directory: openeuler + run: ./download.sh ${{ matrix.version }} + + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + + - name: Login to DockerHub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Build and push + id: docker_build + uses: docker/build-push-action@v2 + with: + context: ./openeuler/${{ matrix.version }}/ + push: true + tags: openeuler/openeuler:${{ matrix.version }} + platforms: linux/amd64,linux/arm64 + + - name: Image digest + run: echo ${{ steps.docker_build.outputs.digest }}