diff --git a/.github/workflows/docker-prerelease-ui.yml b/.github/workflows/docker-prerelease-ui.yml new file mode 100644 index 0000000..ee0c6ae --- /dev/null +++ b/.github/workflows/docker-prerelease-ui.yml @@ -0,0 +1,48 @@ +name: Build and Push Docker Images on PR Merge + +on: + push: + branches: + - main + paths: + - 'aas-web-ui/**' + +jobs: + build-and-push-prerelease: + runs-on: ubuntu-latest + + steps: + # Step 1: Checkout the repository + - name: Checkout Code + uses: actions/checkout@v4 + + # Step 2: Set up Docker Buildx + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + with: + platforms: linux/amd64,linux/arm64,linux/arm/v7 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + # Step 3: Log in to Docker Hub + - name: Log in to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_HUB_USER }} + password: ${{ secrets.DOCKER_HUB_TOKEN }} + + # Step 4: Build and Push Docker Image with Fixed Pre-release Tag + - name: Build and Push Docker Image (Pre-release) + uses: docker/build-push-action@v3 + with: + context: . + push: true + platforms: linux/amd64,linux/arm64,linux/arm/v7 + tags: | + eclipsebasyx/aas-gui:SNAPSHOT + + # Step 5: Verify the Push + - name: Verify Docker Image + run: | + docker pull eclipsebasyx/aas-gui:SNAPSHOT diff --git a/.github/workflows/docker-release-ui.yml b/.github/workflows/docker-release-ui.yml new file mode 100644 index 0000000..4e60590 --- /dev/null +++ b/.github/workflows/docker-release-ui.yml @@ -0,0 +1,55 @@ +name: Build and Push Docker Images on Release + +on: + release: + types: [published] + +jobs: + build-and-push-release: + runs-on: ubuntu-latest + + steps: + # Step 1: Checkout the repository + - name: Checkout Code + uses: actions/checkout@v4 + + # Step 2: Set up Docker Buildx + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + with: + platforms: linux/amd64,linux/arm64,linux/arm/v7 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + # Step 3: Log in to Docker Hub + - name: Log in to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_HUB_USER }} + password: ${{ secrets.DOCKER_HUB_TOKEN }} + + # Step 4: Extract Release Tag as Date + - name: Extract Release Tag + id: extract_tag + run: | + # Assuming the release tag is in yymmdd format + TAG_NAME=${GITHUB_REF#refs/tags/} + echo "TAG_NAME=${TAG_NAME}" >> $GITHUB_ENV + + # Step 5: Build and Push Docker Images + - name: Build and Push Docker Images + uses: docker/build-push-action@v3 + with: + context: . + push: true + platforms: linux/amd64,linux/arm64,linux/arm/v7 + tags: | + eclipsebasyx/aas-gui:${{ env.TAG_NAME }} + eclipsebasyx/aas-gui:latest + + # Step 6: Verify the Push + - name: Verify Docker Images + run: | + docker pull eclipsebasyx/aas-gui:${{ env.TAG_NAME }} + docker pull eclipsebasyx/aas-gui:latest