diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 00e8cc4..2e54853 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -5,8 +5,8 @@ on: push: # push on branch branches: [main, dev] paths: # ignore changes to .md files - - '**' - - '!*.md' + - "**" + - "!*.md" # - '!.github/**' pull_request: # runs when opened/reopned or when the head branch is updated @@ -15,17 +15,15 @@ permissions: packages: write env: - BRANCH: ${{ github.head_ref || github.ref_name }} # head_ref/base_ref are only set for PRs, for branches ref_name will be used + BRANCH: ${{ github.head_ref || github.ref_name }} # head_ref/base_ref are only set for PRs, for branches ref_name will be used jobs: docker: runs-on: ubuntu-latest steps: - - - name: Checkout + - name: Checkout uses: actions/checkout@v4 - - - name: Set environment variables + - name: Set environment variables run: | echo "NOW=$(date -R)" >> "$GITHUB_ENV" # date -Iseconds; date +'%Y-%m-%dT%H:%M:%S' if [[ "$BRANCH" == "main" ]]; then @@ -33,8 +31,7 @@ jobs: else echo "IMAGE_TAG=$BRANCH" >> "$GITHUB_ENV" fi - - - name: Extract metadata for Docker (tags, labels) + - name: Extract metadata for Docker (tags, labels) id: meta uses: docker/metadata-action@v5 with: @@ -52,29 +49,24 @@ jobs: # otherwise labels are not shown on GitHub due to multi-arch image: https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry#adding-a-description-to-multi-arch-images # https://github.com/docker/metadata-action#annotations DOCKER_METADATA_ANNOTATIONS_LEVELS: manifest,index - - - name: Login to Docker Hub + - name: Login to Docker Hub uses: docker/login-action@v3 # if: ${{ secrets.DOCKERHUB_USERNAME != '' && secrets.DOCKERHUB_TOKEN != '' }} # does not work: Unrecognized named-value: 'secrets' - https://www.cloudtruth.com/blog/skipping-jobs-in-github-actions-when-secrets-are-unavailable-securely-inject-configuration-secrets-into-github if: github.event_name != 'pull_request' # don't try to login since PRs don't have access to secrets and need to set them in their fork with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Login to GitHub Container Registry + - name: Login to GitHub Container Registry uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} # actor is user that opened PR, was repository_owner before password: ${{ secrets.GITHUB_TOKEN }} - - - name: Set up QEMU + - name: Set up QEMU uses: docker/setup-qemu-action@v3 - - - name: Set up Docker Buildx + - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - - - name: Build and push + - name: Build and push uses: docker/build-push-action@v6 if: ${{ env.IMAGE_TAG != '' }} with: diff --git a/.github/workflows/sonar.yml b/.github/workflows/sonar.yml index 29f81c6..41ae4de 100644 --- a/.github/workflows/sonar.yml +++ b/.github/workflows/sonar.yml @@ -6,7 +6,7 @@ on: branches: - main pull_request: - types: [opened, synchronize, reopened] + types: [opened, synchronize, reopened] permissions: contents: read @@ -15,28 +15,22 @@ jobs: sonarcloud: runs-on: ubuntu-latest steps: - - - uses: actions/checkout@v4 - with: - # Disabling shallow clone is recommended for improving relevancy of reporting. Otherwise sonarcloud will show a warning. - fetch-depth: 0 - - - uses: actions/setup-node@v4 - with: - cache: 'npm' - - - name: Install dev dependencies which includde ESLint + plugins - run: npm install --only=dev - - - name: Run ESLint - continue-on-error: true - run: npx eslint . -f json -o eslint_report.json - - - name: Fix ESLint paths - run: sed -i 's+/home/runner/work/free-games-claimer/free-games-claimer+/github/workspace+g' eslint_report.json - - - name: SonarCloud Scan - uses: sonarsource/sonarcloud-github-action@master - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + - uses: actions/checkout@v4 + with: + # Disabling shallow clone is recommended for improving relevancy of reporting. Otherwise sonarcloud will show a warning. + fetch-depth: 0 + - uses: actions/setup-node@v4 + with: + cache: "npm" + - name: Install dev dependencies which includde ESLint + plugins + run: npm install --only=dev + - name: Run ESLint + continue-on-error: true + run: npx eslint . -f json -o eslint_report.json + - name: Fix ESLint paths + run: sed -i 's+/home/runner/work/free-games-claimer/free-games-claimer+/github/workspace+g' eslint_report.json + - name: SonarCloud Scan + uses: sonarsource/sonarcloud-github-action@master + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} diff --git a/.mega-linter.yml b/.mega-linter.yml index 8dfc5c4..50e7e9c 100644 --- a/.mega-linter.yml +++ b/.mega-linter.yml @@ -15,8 +15,8 @@ APPLY_FIXES: all # ENABLE_LINTERS: # DISABLE: - # - COPYPASTE # Uncomment to disable checks of excessive copy-pastes - # - SPELL # Uncomment to disable checks of spelling mistakes +# - COPYPASTE # Uncomment to disable checks of excessive copy-pastes +# - SPELL # Uncomment to disable checks of spelling mistakes SHOW_ELAPSED_TIME: true