From 4d38bb9102c68e8f29124f70d4e910ffb7879b8b Mon Sep 17 00:00:00 2001 From: Alex Tymchuk Date: Fri, 21 Jul 2023 14:58:58 +0300 Subject: [PATCH] PMM-7 build devcontainer with gh actions (#2176) * PMM-7 add an action to build the devcontainer * PMM-7 do not build twice * PMM-7 make the workflow run on call and dispatch --- .github/workflows/devcontainer.yml | 62 ++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 .github/workflows/devcontainer.yml diff --git a/.github/workflows/devcontainer.yml b/.github/workflows/devcontainer.yml new file mode 100644 index 0000000000..1a2957e7f4 --- /dev/null +++ b/.github/workflows/devcontainer.yml @@ -0,0 +1,62 @@ +name: Devcontainer +on: + workflow_dispatch: + inputs: + branch: + description: "The branch to build the devcontainer from" + default: "main" + required: true + type: string + workflow_call: + inputs: + branch: + description: "The branch to build the devcontainer from" + default: "main" + required: true + type: string + +jobs: + devcontainer: + name: Build + runs-on: ubuntu-22.04 + timeout-minutes: 15 + strategy: + fail-fast: false + permissions: + packages: write + + env: + LAB_DEVCONTAINER_IMAGE: perconalab/pmm-server:dev-container + GH_DEVCONTAINER_IMAGE: ghcr.io/percona/pmm:dev-container + + steps: + - name: Check out code + uses: actions/checkout@v3 + with: + ref: ${{ github.event.inputs.branch }} + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to ghcr.io registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Login to docker.io registry + uses: docker/login-action@v2 + with: + registry: docker.io + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Build and push to registries + uses: docker/build-push-action@v4 + with: + file: ./devcontainer.Dockerfile + push: true + tags: | + ${{ env.GH_DEVCONTAINER_IMAGE }} + ${{ env.LAB_DEVCONTAINER_IMAGE }}