name: Build Android Emulator Images on: push: branches: [main, master] workflow_dispatch: inputs: android_version: description: 'Android API version (e.g., 30, 31, 32)' required: false default: '30' env: REGISTRY: images.caffeinetux.com PROJECT: library jobs: build: runs-on: ubuntu-latest strategy: matrix: version: [android-30] fail-fast: false steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login to Harbor uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ secrets.HARBOR_USERNAME }} password: ${{ secrets.HARBOR_PASSWORD }} - name: Generate build files run: make generate - name: Build and push working-directory: build/${{ matrix.version }} run: | # Build the image docker build \ --build-arg VCS_REF=${{ github.sha }} \ --build-arg IMAGE_VERSION=${{ github.run_number }} \ -t ${{ env.REGISTRY }}/${{ env.PROJECT }}/docker-emulator-${{ matrix.version }}:latest \ -t ${{ env.REGISTRY }}/${{ env.PROJECT }}/docker-emulator-${{ matrix.version }}:${{ github.sha }} \ . # Push tags docker push ${{ env.REGISTRY }}/${{ env.PROJECT }}/docker-emulator-${{ matrix.version }}:latest docker push ${{ env.REGISTRY }}/${{ env.PROJECT }}/docker-emulator-${{ matrix.version }}:${{ github.sha }}