Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update dependency rhysd/actionlint to v1.7.1 #3014

Merged
merged 2 commits into from
Jun 11, 2024

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jun 11, 2024

Mend Renovate

This PR contains the following updates:

Package Update Change
rhysd/actionlint minor 1.6.27 -> 1.7.1

Release Notes

rhysd/actionlint (rhysd/actionlint)

v1.7.1

Compare Source

This should be OK

image: 'ghcr.io/user/repo:latest'
- Fix checking `preactjs/compressed-size-action@v2` usage caused a false positive. ([#​422](https://togithub.com/rhysd/actionlint/issues/422))
- Fix an error message when invalid escaping is found in globs.
- The design of the [playground page](https://rhysd.github.io/actionlint/) is overhauled following the upgrade of bulma package to v1.
- Current actionlint version is shown in the heading.
- The color theme is changed to the official dark theme.
- The list of useful links is added to the bottom of the page as 'Resources' section.

[Changes][v1.7.1]

v1.7.0

Compare Source

  • From this version, actionlint starts to check action metadata file action.yml (or action.yaml). At this point, only very basic checks are implemented and contents of steps: are not checked yet.
    • It checks properties under runs: section (e.g. main: can be specified when it is a JavaScript action), branding: properties, and so on.
      name: 'My action'
      author: '...'

ERROR: 'description' section is missing

branding:

ERROR: Invalid icon name

  icon: dog

runs:

ERROR: Node.js runtime version is too old

  using: 'node12'

ERROR: The source file being run by this action does not exist

  main: 'this-file-does-not-exist.js'

ERROR: 'env' configuration is only allowed for Docker actions

  env:
    SOME_VAR: SOME_VALUE
```
  • actionlint still focuses on checking workflow files. So there is no way to directly specify action.yml as an argument of actionlint command. actionlint checks all local actions which are used by given workflows. If you want to use actionlint for your action development, prepare a test/example workflow which uses your action, and check it with actionlint instead.
  • Checks for steps: contents are planned to be implemented. Since several differences are expected between steps: in workflow file and steps: in action metadata file (e.g. available contexts), the implementation is delayed to later version. And the current implementation of action metadata parser is ad hoc. I'm planning a large refactorying and breaking changes Go API around it are expected.
  • Add runner.environment property. (#​412)
    - run: echo 'Run by GitHub-hosted runner'
      if: runner.environment == 'github-hosted'
  • Using outdated popular actions is now detected at error. See the document for more details.
    • Here 'outdated' means actions which use runtimes no longer supported by GitHub-hosted runners such as node12.

ERROR: actions/checkout@v2 is using the outdated runner 'node12'

- uses: actions/checkout@v2
```
  • Support attestations permission which was recently added to GitHub Actions as beta. (#​418, thanks @​bdehamer)
    permissions:
      id-token: write
      contents: read
      attestations: write
  • Check comparison expressions more strictly. Arbitrary types of operands can be compared as the official document explains. However, comparisons between some types are actually meaningless because the values are converted to numbers implicitly. actionlint catches such meaningless comparisons as errors. Please see the check document for more details.
    on:
      workflow_call:
        inputs:
          timeout:
            type: boolean
    
    jobs:
      test:
        runs-on: ubuntu-latest
        steps:
          - run: echo 'called!'

ERROR: Comparing string to object is always evaluated to false

      if: ${{ github.event == 'workflow_call' }}
    - run: echo 'timeout is too long'

ERROR: Comparing boolean value with > doesn't make sense

      if: ${{ inputs.timeout > 60 }}
- Follow the update that `macos-latest` is now an alias to `macos-14` runner.
- Support a custom python shell by `pyflakes` rule.
- Add workaround actionlint reports that `dorny/paths-filter`'s `predicate-quantifier` input is not defined. ([#​416](https://togithub.com/rhysd/actionlint/issues/416))
- Fix the type of a conditional expression by comparison operators is wider than expected by implementing type narrowing. ([#​384](https://togithub.com/rhysd/actionlint/issues/384))
- For example, the type of following expression should be `number` but it was actually `string | number` and actionlint complained that `timeout-minutes` must take a number value.
  ```yaml
  timeout-minutes: ${{ env.FOO && 10 || 60 }}
  ```
- Fix `${{ }}` placeholder is not available at `jobs.<job_id>.services`. ([#&#8203;402](https://togithub.com/rhysd/actionlint/issues/402))
```yaml
jobs:
  test:
    services: ${{ fromJSON('...') }}
    runs-on: ubuntu-latest
    steps:
      - run: ...
  • Do not check outputs of google-github-actions/get-secretmanager-secrets because this action sets outputs dynamically. (#​404)
  • Fix defaults.run is ignored on detecting the shell used in run:. (#​409)
    defaults:
      run:
        shell: pwsh
    jobs:
      test:
        runs-on: ubuntu-latest
        steps:

This was wrongly detected as bash script

    - run: $Env:FOO = "FOO"
- Fix parsing a syntax error reported from pyflakes when checking a Python script in `run:`. ([#&#8203;411](https://togithub.com/rhysd/actionlint/issues/411))
```yaml
- run: print(
  shell: python
  • Skip checking exclude: items in matrix: when they are constructed from ${{ }} dynamically. (#​414)
    matrix:
      foo: ['a', 'b']
      exclude:

actionlint complained this value didn't exist in matrix combinations

  - foo: ${{ env.EXCLUDE_FOO }}
- Fix checking `exclude:` items when `${{ }}` is used in nested arrays at matrix items.
```yaml
matrix:
  foo:
    - ["${{ fromJSON('...') }}"]
  exclude:
### actionlint complained this value didn't match to any matrix combinations
    - foo: ['foo']
  • Update popular actions data set. New major versions are added and the following actions are newly added.
    • peaceiris/actions-hugo
    • actions/attest-build-provenance
    • actions/add-to-project
    • octokit/graphql-action
  • Update Go dependencies to the latest.
  • Reduce the size of actionlint executable by removing redundant data from popular actions data set.
    • x86_64 executable binary size was reduced from 6.9MB to 6.7MB (2.9% smaller).
    • Wasm binary size was reduced from 9.4MB to 8.9MB (5.3% smaller).
  • Describe how to integrate actionlint to Pulsar Edit in the document. (#​408, thanks @​mschuchard)
  • Update outdated action versions in the usage document. (#​413, thanks @​naglis)

[Changes][v1.7.0]


Configuration

📅 Schedule: Branch creation - "after 10pm every weekday,before 5am every weekday,every weekend" in timezone Europe/Berlin, Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot added the dependencies Pull requests that update a dependency file label Jun 11, 2024
@renovate renovate bot enabled auto-merge (rebase) June 11, 2024 08:42
Copy link

sonarcloud bot commented Jun 11, 2024

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

@renovate renovate bot merged commit b186415 into main Jun 11, 2024
30 checks passed
@renovate renovate bot deleted the renovate/rhysd-actionlint-1.x branch June 11, 2024 09:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants