[DOP-26027] Add DBT icon & translation #113
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Release | |
| on: | |
| push: | |
| branches: | |
| - develop | |
| tags: | |
| - "[0-9]+.[0-9]+.[0-9]+" | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| release: | |
| name: Build & push backend image to Dockerhub | |
| runs-on: ubuntu-latest | |
| if: github.repository == 'MobileTeleSystems/data-rentgen-ui' # prevent running on forks | |
| permissions: | |
| contents: write # to create Github release | |
| steps: | |
| - name: Set up QEMU | |
| uses: docker/setup-qemu-action@v3 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Login to Docker Hub | |
| uses: docker/login-action@v3 | |
| with: | |
| username: ${{ secrets.DOCKERHUB_USERNAME }} | |
| password: ${{ secrets.DOCKERHUB_TOKEN }} | |
| - name: Install Node.JS | |
| uses: actions/setup-node@v4 | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Get version | |
| id: get_version | |
| run: | | |
| version=$(node -p "require('./package.json').version") | |
| echo "VERSION=${version}" >> $GITHUB_ENV | |
| current_dt=$(date -u +"%Y-%m-%d") | |
| echo "NAME=${version} (${current_dt})" >> $GITHUB_ENV | |
| - name: Docker meta | |
| id: meta | |
| uses: docker/metadata-action@v5 | |
| with: | |
| images: mtsrus/data-rentgen-ui | |
| labels: | | |
| org.opencontainers.image.title=Data.Rentgen UI | |
| org.opencontainers.image.vendor=MTS PJSC | |
| org.opencontainers.image.documentation=https://data-rentgen.readthedocs.io | |
| org.opencontainers.image.url=https://hub.docker.com/r/mtsrus/data-rentgen-ui | |
| org.opencontainers.image.authors=DataOps.ETL <onetools@mts.ru> | |
| org.opencontainers.image.version=${{ env.VERSION }} | |
| - name: Build UI image | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: . | |
| file: ./docker/Dockerfile | |
| tags: ${{ steps.meta.outputs.tags }} | |
| labels: ${{ steps.meta.outputs.labels }} | |
| target: prod | |
| pull: true | |
| push: true | |
| cache-to: type=gha,mode=max | |
| cache-from: type=gha | |
| platforms: | | |
| linux/amd64 | |
| linux/arm64/v8 | |
| provenance: mode=max | |
| sbom: true | |
| - name: Update DockerHub Description | |
| uses: peter-evans/dockerhub-description@v4 | |
| if: github.ref_type == 'tag' | |
| with: | |
| username: ${{ secrets.DOCKERHUB_USERNAME }} | |
| # this requires token with read+write+delete permissions. read+write is not enough! | |
| password: ${{ secrets.DOCKERHUB_TOKEN }} | |
| repository: mtsrus/data-rentgen-ui | |
| short-description: ${{ github.event.repository.description }} | |
| enable-url-completion: true | |
| - name: Generate SBOM | |
| run: | | |
| npm install --global @cyclonedx/cyclonedx-npm | |
| cyclonedx-npm --package-lock-only --omit dev --output-reproducible --output-file sbom.cyclonedx.json | |
| - name: Create Github release | |
| if: github.ref_type == 'tag' | |
| id: create_release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| draft: false | |
| prerelease: false | |
| name: ${{ env.NAME }} | |
| files: | | |
| sbom.cyclonedx.json |