name: Build & Deploy custom image manually on: workflow_dispatch: inputs: branch: description: "Name of Branch to base build on" required: false default: dev name: description: 'Name of tag' required: true core: description: 'Branch or tag of core repo' required: true web: description: 'Branch or tag of web repo' required: true ftl: description: 'Branch or tag of ftl repo' required: true jobs: test-and-build: runs-on: ubuntu-latest strategy: fail-fast: false matrix: ARCH: [amd64, armhf, arm64, i386] DEBIAN_VERSION: [buster] env: ARCH: ${{matrix.ARCH}} DEBIAN_VERSION: ${{matrix.DEBIAN_VERSION}} CORE_VERSION: ${{ github.event.inputs.core }} WEB_VERSION: ${{ github.event.inputs.web }} FTL_VERSION: ${{ github.event.inputs.ftl }} steps: - name: Checkout Repo uses: actions/checkout@v2 with: ref: ${{ github.event.inputs.branch }} - name: Checkout Dummy Branch to set image name run: | git checkout -b ${{ github.event.inputs.name }} - name: Run Tests run: | echo "Building ${ARCH}-${DEBIAN_VERSION}" ./gh-actions-test.sh # - name: Push the ARCH image # if: github.event_name != 'pull_request' # run: | # . gh-actions-vars.sh # echo "${{ secrets.DOCKERHUB_PASS }}" | docker login --username="${{ secrets.DOCKERHUB_USER }}" --password-stdin # docker push "${ARCH_IMAGE}" - name: Upload gh-workspace if: github.event_name != 'pull_request' uses: actions/upload-artifact@v1 with: name: gh-workspace path: .gh-workspace publish: runs-on: ubuntu-latest needs: test-and-build steps: - name: Checkout Repo uses: actions/checkout@v2 with: ref: dev - name: Checkout Dummy Branch to set image name run: | git checkout -b ${{ github.event.inputs.name }} - name: Download workspace files uses: actions/download-artifact@v1 with: name: gh-workspace path: .gh-workspace - name: Tag and Publish multi-arch images env: DOCKERHUB_PASS: ${{ secrets.DOCKERHUB_PASS }} DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }} run: | ./gh-actions-deploy.sh