sonar exclusions #55
Workflow file for this run
This file contains 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: | |
- release/* | |
- hotfix/* | |
pull_request: | |
branches: | |
- develop | |
types: [opened, synchronize, reopened] | |
jobs: | |
release-local: | |
name: release-local | |
runs-on: ubuntu-latest | |
# Se ejecuta si la PR es hacia develop y no proviene de una rama de release u hotfix. | |
# Este job no debe ejecutarse como push en cualquier rama release, pero sí en las ramas de hotfix. | |
if: ${{ (github.event_name == 'pull_request' && github.event.pull_request.base.ref == 'develop' && !contains(github.event.pull_request.head.ref, 'release/') && !contains(github.event.pull_request.head.ref, 'hotfix/')) || (github.event_name == 'push' && startsWith(github.ref, 'refs/heads/hotfix/')) }} | |
environment: local | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Set up JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'adopt' | |
java-version: '17' | |
- name: Make Gradlew Executable | |
run: chmod +x ./gradlew | |
- name: Build and Push docker image | |
run: | | |
./gradlew printVersion | |
./gradlew printProjectName | |
VERSION=$(./gradlew -q printVersion) | |
PROJECT_NAME=$(./gradlew -q printProjectName) | |
IMAGE_TAG="$PROJECT_NAME:v$VERSION$SUFFIX" | |
docker build --file Dockerfile --build-arg SKIP_TESTS=true --tag $DOCKER_HUB_CLIENT_NAME/$IMAGE_TAG . | |
echo $DOCKER_PASSWORD | docker login -u $DOCKER_USERNAME --password-stdin | |
docker push $DOCKER_HUB_CLIENT_NAME/$IMAGE_TAG | |
env: | |
DOCKER_USERNAME: ${{ vars.DOCKER_USERNAME }} | |
DOCKER_PASSWORD: ${{ secrets.DOCKER_TOKEN }} | |
DOCKER_HUB_CLIENT_NAME: in2workspace | |
SUFFIX: -snapshot | |
release-dev: | |
name: release-dev | |
runs-on: ubuntu-latest | |
needs: release-local | |
# Este job se ejecuta si el evento es un 'push' y ocurre en las ramas 'release' y 'hotfix'. | |
# Este job depende del resultado del job anterior, 'release-local', si la rama del evento es 'hotfix', no 'release'. | |
# Este job jamás se ejecutará por una 'pull_request'. | |
if: ${{ github.event_name == 'push' && (startsWith(github.ref, 'refs/heads/release/') || (startsWith(github.ref, 'refs/heads/hotfix/') && success())) }} | |
environment: dev | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Set up JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'adopt' | |
java-version: '17' | |
- name: Make Gradlew Executable | |
run: chmod +x ./gradlew | |
- name: Build and Push docker image | |
run: | | |
./gradlew printVersion | |
./gradlew printProjectName | |
VERSION=$(./gradlew -q printVersion) | |
PROJECT_NAME=$(./gradlew -q printProjectName) | |
IMAGE_TAG="$PROJECT_NAME:v$VERSION$SUFFIX" | |
docker build --file Dockerfile --build-arg SKIP_TESTS=true --tag $DOCKER_HUB_CLIENT_NAME/$IMAGE_TAG . | |
echo $DOCKER_PASSWORD | docker login -u $DOCKER_USERNAME --password-stdin | |
docker push $DOCKER_HUB_CLIENT_NAME/$IMAGE_TAG | |
env: | |
DOCKER_USERNAME: ${{ vars.DOCKER_USERNAME }} | |
DOCKER_PASSWORD: ${{ secrets.DOCKER_TOKEN }} | |
DOCKER_HUB_CLIENT_NAME: in2workspace | |
SUFFIX: -snapshot | |
release-test: | |
name: release-test | |
runs-on: ubuntu-latest | |
needs: release-dev | |
# Este job se ejecuta si el evento es un 'push' y ocurre en las ramas 'release' y 'hotfix'. | |
# Este job depende del resultado del job anterior, 'release-dev'. | |
# Este job jamás se ejecutará por una 'pull_request'. | |
if: ${{ github.event_name == 'push' && (startsWith(github.ref, 'refs/heads/release/') || startsWith(github.ref, 'refs/heads/hotfix/') && success()) }} | |
environment: test | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Set up JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'adopt' | |
java-version: '17' | |
- name: Make Gradlew Executable | |
run: chmod +x ./gradlew | |
- name: Build and Push docker image | |
run: | | |
./gradlew printVersion | |
./gradlew printProjectName | |
VERSION=$(./gradlew -q printVersion) | |
PROJECT_NAME=$(./gradlew -q printProjectName) | |
IMAGE_TAG="$PROJECT_NAME:v$VERSION$SUFFIX" | |
docker build --file Dockerfile --build-arg SKIP_TESTS=true --tag $DOCKER_HUB_CLIENT_NAME/$IMAGE_TAG . | |
echo $DOCKER_PASSWORD | docker login -u $DOCKER_USERNAME --password-stdin | |
docker push $DOCKER_HUB_CLIENT_NAME/$IMAGE_TAG | |
env: | |
DOCKER_USERNAME: ${{ vars.DOCKER_USERNAME }} | |
DOCKER_PASSWORD: ${{ secrets.DOCKER_TOKEN }} | |
DOCKER_HUB_CLIENT_NAME: in2workspace | |
SUFFIX: -rc1 | |
release-prod: | |
name: release-prod | |
runs-on: ubuntu-latest | |
needs: release-test | |
# Este job se ejecuta si el evento es un 'push' y ocurre en las ramas 'release' y 'hotfix'. | |
# Este job depende del resultado del job anterior, 'release-test'. | |
# Este job jamás se ejecutará por una 'pull_request'. | |
if: ${{ github.event_name == 'push' && (startsWith(github.ref, 'refs/heads/release/') || startsWith(github.ref, 'refs/heads/hotfix/') && success()) }} | |
environment: prod | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Set up JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'adopt' | |
java-version: '17' | |
- name: Make Gradlew Executable | |
run: chmod +x ./gradlew | |
- name: Build and Push docker image | |
run: | | |
./gradlew printVersion | |
./gradlew printProjectName | |
VERSION=$(./gradlew -q printVersion) | |
PROJECT_NAME=$(./gradlew -q printProjectName) | |
IMAGE_TAG="$PROJECT_NAME:v$VERSION$SUFFIX" | |
docker build --file Dockerfile --build-arg SKIP_TESTS=true --tag $DOCKER_HUB_CLIENT_NAME/$IMAGE_TAG . | |
echo $DOCKER_PASSWORD | docker login -u $DOCKER_USERNAME --password-stdin | |
docker push $DOCKER_HUB_CLIENT_NAME/$IMAGE_TAG | |
env: | |
DOCKER_USERNAME: ${{ vars.DOCKER_USERNAME }} | |
DOCKER_PASSWORD: ${{ secrets.DOCKER_TOKEN }} | |
DOCKER_HUB_CLIENT_NAME: in2workspace | |
SUFFIX: -ga |