name: Build on: workflow_call: inputs: repo: required: true type: string description: "'erpnext' or 'frappe'" version: required: true type: string description: "Major version, git tags should match 'v{version}.*'; or 'develop'" push: required: true type: boolean secrets: DOCKERHUB_USERNAME: required: true DOCKERHUB_TOKEN: required: true jobs: build: name: Build runs-on: ubuntu-latest services: registry: image: registry:2 ports: - 5000:5000 steps: - name: Checkout uses: actions/checkout@v2 - name: Setup Python uses: actions/setup-python@v2 with: python-version: 3.9 - name: Setup Buildx uses: docker/setup-buildx-action@v1 with: driver-opts: network=host - name: Install Docker Compose v2 uses: ndeloof/install-compose-action@4a33bc31f327b8231c4f343f6fba704fedc0fa23 - name: Get latest versions run: python3 ./.github/scripts/get_latest_tags.py --repo ${{ inputs.repo }} --version ${{ inputs.version }} - name: Build uses: docker/bake-action@v1.6.0 with: push: true env: USERNAME: localhost:5000/frappe - name: Test run: python3 tests/main.py - name: Login if: ${{ inputs.push }} uses: docker/login-action@v1 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Push if: ${{ inputs.push }} uses: docker/bake-action@v1.6.0 with: push: true