diff --git a/.github/workflows/build-server-image.yml b/.github/workflows/build-server-image.yml new file mode 100644 index 0000000000..96b22741f5 --- /dev/null +++ b/.github/workflows/build-server-image.yml @@ -0,0 +1,35 @@ +name: BuildEnv Docker Image + +on: + push: + branches: + - master + paths: + - server/build/Dockerfile.buildenv + +jobs: + build-image: + runs-on: ubuntu-22.04 + steps: + - name: buildenv/checkout-repo + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + + - name: buildenv/calculate-golang-version + id: go + run: echo GO_VERSION=$(cat .go-version) >> "${GITHUB_OUTPUT}" + + - name: buildenv/docker-login + uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0 + with: + username: ${{ secrets.DOCKERHUB_DEV_USERNAME }} + password: ${{ secrets.DOCKERHUB_DEV_TOKEN }} + + - name: buildenv/build-and-push + uses: docker/build-push-action@2cdde995de11925a030ce8070c3d77a52ffcf1c0 # v5.3.0 + with: + provenance: false + context: server/build + file: Dockerfile.buildenv + push: true + pull: true + tags: mattermostdevelopment/mattermost-build-server:${{ steps.go.outputs.GO_VERSION }} diff --git a/server/build/Dockerfile.buildenv b/server/build/Dockerfile.buildenv index c0fe80255a..1be19da964 100644 --- a/server/build/Dockerfile.buildenv +++ b/server/build/Dockerfile.buildenv @@ -1,3 +1,5 @@ FROM golang:1.21.8-bullseye@sha256:81d98548f08e22a59c5c0be814acc0997f3dfd3313487adcf4e1d3d962af3a43 -RUN apt-get update && apt-get install -y make git apt-transport-https ca-certificates curl software-properties-common build-essential zip xmlsec1 jq +RUN apt-get update && apt-get install -y make git apt-transport-https ca-certificates curl software-properties-common build-essential zip xmlsec1 jq pgloader + +RUN git config --global --add safe.directory /mattermost