name: Release on: push: tags: - 'v*.*-*' jobs: run_test: runs-on: ubuntu-24.04 strategy: matrix: python-version: ["3.8"] steps: - name: Checkout the repo uses: actions/checkout@v5 - name: Run unit-test run: script -e -c "./app.sh test emulator test 11.0 && sudo mv tmp/* ." release_base: runs-on: ubuntu-24.04 needs: run_test steps: - name: Checkout the repo uses: actions/checkout@v5 - name: Get release version run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV - name: Build and push base image (${RELEASE_VERSION}) run: | docker login -u=${{secrets.DOCKER_USERNAME}} -p=${{secrets.DOCKER_PASSWORD}} ./app.sh push base ${RELEASE_VERSION} docker logout release_emulator: runs-on: ubuntu-24.04 needs: release_base strategy: matrix: android: ["9.0", "10.0", "11.0", "12.0", "13.0", "14.0"] steps: - name: Checkout the repo uses: actions/checkout@v5 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Get release version run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV - name: Set up extension run: | echo "${{ secrets.extension }}" > extension.sh chmod 700 extension.sh shell: bash - name: Build and push emulator image ${{ matrix.android }} (${RELEASE_VERSION}) run: | docker login -u=${{secrets.DOCKER_USERNAME}} -p=${{secrets.DOCKER_PASSWORD}} ./app.sh push emulator ${RELEASE_VERSION} ${{ matrix.android }} docker logout release_genymotion: runs-on: ubuntu-24.04 needs: release_base steps: - name: Checkout the repo uses: actions/checkout@v5 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Get release version run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV - name: Set up extension run: | echo "${{ secrets.extension }}" > extension.sh chmod 700 extension.sh shell: bash - name: Build and push genymotion image (${RELEASE_VERSION}) run: | docker login -u=${{secrets.DOCKER_USERNAME}} -p=${{secrets.DOCKER_PASSWORD}} ./app.sh push genymotion ${RELEASE_VERSION} docker logout