Commit graph

48 commits

Author SHA1 Message Date
Marco Ferrari
5d6e3fcecc
feat: lint commit messages with commitlint (#6118)
Some checks failed
Publish Images / Build and Test (push) Has been cancelled
Build and Test / Set build metadata (push) Has been cancelled
Build and Test / Build test suite matrix (push) Has been cancelled
Build and Test / preview-release-notes (push) Has been cancelled
Lint commit / commitlint (push) Has been cancelled
Publish Images / Release (push) Has been cancelled
Build and Test / Build and Test (push) Has been cancelled
Build and Test / Test the Super-linter GitHub Action (push) Has been cancelled
Build and Test / Run test cases (push) Has been cancelled
Build and Test / Check if all the tests passed (push) Has been cancelled
Add support to run Commitlint against commit messages. It supports the
current modes:

- Lint the commit message of the last commit
- Lint the commit messages of the pushed commits in case there is more
  than one pushed commit

This commit also removes stuff that we used to run commitlint as a
standalone tool because we can now use the commitlint instance that
Super-linter ships:

- lint-commit steps in lint-commit the GitHub Actions workflow
- lint-commit Make target
- commitlint and its dependencies in package.json and package-lock.json
2024-09-19 08:53:13 +00:00
Marco Ferrari
72a4884f7a
chore: manage php dependencies (#6139)
Some checks are pending
Publish Images / Build and Test (push) Waiting to run
Publish Images / Release (push) Blocked by required conditions
Build and Test / Set build metadata (push) Waiting to run
Build and Test / Build and Test (push) Blocked by required conditions
Build and Test / Test the Super-linter GitHub Action (push) Blocked by required conditions
Build and Test / Build test suite matrix (push) Waiting to run
Build and Test / Run test cases (push) Blocked by required conditions
Build and Test / Check if all the tests passed (push) Blocked by required conditions
Build and Test / preview-release-notes (push) Waiting to run
Lint commit / commitlint (push) Waiting to run
- Install PHP dependencies using composer
- Watch composer dependency updates with Dependabot
2024-09-13 08:08:39 +02:00
Marco Ferrari
e0d8b4fb2f
feat: implement a linter to check git conflicts (#6113)
Implement a linter to check if files contain Git conflict
markers or whitespace errors.
2024-09-05 08:02:36 +02:00
Nito Buendia
5b13acee46
feat: add pyink as a Python formatter (#6083) 2024-08-27 15:00:51 +00:00
Marco Ferrari
8ceae0f304
feat: lint and format dotnet solutions (#6039)
Close #736
2024-08-16 16:23:52 +02:00
Marco Ferrari
48d5391b7b
fix!: remove sql-lint (#5991)
sql-lint is unmaintained, and its dependencies are impacted by several
vulnerabilities.
2024-08-14 17:30:46 +02:00
Marco Ferrari
82094c879b
build: fix build metadata (#6015)
- Don't set BUILD_VERSION in CI/CD workflows otherwise the
  build-metadata script will always fall back to those values instead of
  computing new ones.
- When calculating BUILD_REVISION, check if BUILD_REVISION is set before
  falling back.
2024-08-13 14:26:26 +02:00
Marco Ferrari
bde3b9368e
build: set build_version dynamically (#6013)
Set BUILD_VERSION to the content of the version descriptor (version.txt)
if it changed in the last commit, assuming that the last commit was a
release preparation commit that updated the version descriptor.

Close #4928
2024-08-13 12:10:31 +02:00
Marco Ferrari
40410c2d60
fix: use cargo clippy instead of cargo-clippy (#5988)
The cargo-clippy command has been depreacted since Cargo
v1.78.0. This is needed to unblock the implementation of fix mode.
2024-08-11 23:18:33 +02:00
Marco Ferrari
c46346c774
chore: remove clippy script, run clippy directly (#5953)
Remove clippy.sh script and run cargo-clippy directly. The script was
needed because when we introduced cargo-clippy, Super-linter didn't have
a way to customize the working directory when running linters and
formatters. Now, we can use GNU Parallel to handle that case.

This will unblock the work to do to implement #4001 (pass custom options
to cargo-clippy).
2024-08-02 13:24:43 +02:00
Marco Ferrari
c770a8d253
feat: enable dotenv-linter for slim images (#5868)
Set up dotenv-linter for the slim image, and not only for the standard
image because it doesn't have dependencies on the Rust SDK, and weights
less than 10MB.
2024-07-10 15:50:15 +02:00
Marco Ferrari
6af32f6575
build: install lua from the os package repository (#5655)
- Install lua and luarocks from the OS package repository instead of
  manually downloading them. Also the luarock fork looked
  unmaintained.
- Remove luarocks from the image after installing lua packages because
  it's not needed after that
2024-05-28 08:39:07 +02:00
Marco Ferrari
13f6ec2ffb
build: update php linters (#5689)
- Composer to 2.7.6
- PHPCS to 3.10.1
- PHPStan to 1.11.2
- Psalm to 5.24.0
2024-05-27 14:25:57 +02:00
Masaya Suzuki
69249882f3
feat: support GoReleaser (#5505) 2024-04-15 12:38:25 +00:00
Junya Okabe
e71a37d49d
feat: add depndency (#5456)
feat: configure ruff

feat: update the orchestration scripts

feat: update the test suite

docs: update README

feat: add test cases for ruff

fix: CI error

chore: del .github/linters/.ruff.toml

fix: CI error

fix: README

update: LINTER_NAMES_ARRAY

fix: Dockerfile

fix: .github/linters/.jscpd.json

fix: test files

fix: del version_command
2024-04-10 12:02:28 +00:00
Chongyi Zheng
252a980961
build: add glibc via gcompat layer (#5334) 2024-02-29 17:12:01 +00:00
Chongyi Zheng
1eea6127e1
build: install zlib from alpine packages (#5317) 2024-02-29 13:56:54 +01:00
Benjamin Wuethrich
95aabd4cfa
feat(bash-exec): add option to ignore shell library files (#5254)
Introduce a new configuration variable, BASH_EXEC_IGNORE_LIBRARIES. If
set to true, the behaviour of bash-exec is modified: if a shell file has
a file extension and no shebang line, it is ignored, i.e., allowed to be
non-executable. This allows files that are only every sourced from other
shell files, acting as libraries and not executables, to have no
executable bit set without failing the bash-exec linter.
2024-02-27 18:17:22 +00:00
Marco Ferrari
4a05d78ed4
fix: don't immediately exit on errors (#5336)
Don't immediately exit on errors because this will hide diagnostic
information, and linter output.

Fix #5335

ci: add docs updates to changelog
2024-02-27 14:57:36 +01:00
Marco Ferrari
49320c834b
build: install dotnet and powershell from images (#5245)
Install the .NET SDK and PowerShell from their container images so that
we avoid spending time running their installers, and we can control
their updates automatically.

Close #5243
2024-02-10 08:51:09 +00:00
Marco Ferrari
d7790e4f1c
build: move linter verions logic outside runtime (#5197)
Move the logic to build the linter versions file outside the main
runtime. There's no need to include it there because it's used only when
building the image.

Move the list of linters by name in linterVersions.sh because we don't
need it in any other place.
2024-02-05 13:31:36 +01:00
Marco Ferrari
92e9cb3c85
build: fail on errors when installing chktex (#5214)
Refactor the chktex installation scripts because lists of commands don't
fail if one of them exits with an error, even if set -e (errexit) is
set.

See the Bash reference manual, section 4.3.1 'The Set Builtin'.
2024-02-05 10:31:43 +01:00
Marco Ferrari
690d422fd6
build: install chktex (#5074)
Install chktex directly instead of using a third-party container image.
2023-12-30 16:07:07 +01:00
Marco Ferrari
1ca3ebccd6
build: reduce container image size (#5072)
- Remove build-time dependencies
- Remove cached NPM packages
- Remove cached PyPi packages
- Remove dependency descriptors. These still count against the total space,
  although it's a few KBs
- Install rust-clippy and rust-fmt using the OS package manager instead of
  maintaining our own installation script
- Add tests for build time dependencies that are not supposed to be installed
2023-12-29 19:30:58 +01:00
Adam Ralph
5a175c2e27
feat: install .NET LTS instead of STS (#5047)
Switch to the LTS .NET release channel to allow .NET 8 to be installed. STS restricts to .NET 7.
2023-12-27 10:26:05 +01:00
Marco Ferrari
4d9eaa5c54
build: update Dart, dart analyzer to 3.2.4 (#5065)
Recent versions of dart analyzer don't support the --options
configuration option anymore, so we cannot pass an arbitrary
configuration file. This commit removes the default dart analyzer
configuration file as well, because it's not needed anymore.
2023-12-26 22:14:57 +01:00
Marco Ferrari
1dc74e194e
build: install clj-kondo from its container image (#5064)
Instead of providing a script to install clj-kondo, grab it from its
container image so that we can benefit from automated dependency
updates.
2023-12-25 12:41:40 +01:00
Marco Ferrari
fa7cb563d8
feat: automatically handle ktlint updates (#5049) 2023-12-24 14:47:34 +01:00
Marco Ferrari
60983d395f
fix: fail if r package installation fails (#4994)
- Fail if the installation of a R package fails.
- Install the remotes package once during the image build, and not when we scan
  files at runtime.
- Reuse the default R library directory instead of moving it to /home/r-library
2023-12-21 20:52:57 +01:00
Marco Ferrari
22b8624f61
Simplify container image build (#4962) 2023-12-15 11:59:36 +01:00
dependabot[bot]
b9d7d8d9ab
Bump alpine from 3.18.5 to 3.19.0 and PHP from 8.1 to 8.2 (#4979)
* Bump alpine from 3.18.5 to 3.19.0

Bumps alpine from 3.18.5 to 3.19.0.

---
updated-dependencies:
- dependency-name: alpine
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update to php 8.3

* Revert to php82 because it's the default version in alpine 3.19.0

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Marco Ferrari <ferrari.marco@gmail.com>
2023-12-13 09:28:05 +01:00
Zack Koppert
304ca185da
Update PHP dependencies and GPG verification keys (#4960)
* Update phive locations

* Update phar keys and versions

* Add phpstan key

---------

Co-authored-by: Marco Ferrari <ferrari.marco@gmail.com>
2023-12-11 18:37:24 +01:00
Marco Ferrari
3d4a31240f
Automatically handle Java dependencies updates (#4891)
* Automatically handle Java dependencies updates

* Fix commands

* Fix commands

* Fix paths

* Copy deps
2023-11-30 08:20:19 +00:00
Zack Koppert
b006bfd8f4
Address pwsh install failure (#4888)
* Address pwsh install failure

* hard code v7.3.10 until https://github.com/PowerShell/PowerShell/issues/20746 is fixed

* Use a proper fix to grab the correct name changed asset
2023-11-21 13:59:24 -08:00
Vadim Hatsura
80476af4f7
feat: use built-in dotnet format linter for csharp language (#4627)
* chore: add test case for csharp language which should pass

it shows that the current version of linter for csharp language reports false positive issues

* feat: use built-in linter for csharp language

https://github.com/dotnet/format/issues/1268

* chore: remove dotnet-format installation from install-dotnet.sh

dotnet format is a part of .NET 6 SDK and shouldn't be installed separately anymore

* docs: update linter name for dotnet

instead of dotnet-format built-in format command from dotnet is used (points to the same repository as before)

* chore: update linter name for dotnet in tests

---------

Co-authored-by: Zack Koppert <zkoppert@github.com>
2023-10-16 18:31:03 +00:00
Gustl22
c4c1ebb101
fix: Move commands to correct place (#4579)
* Allow dispatch workflow

* Disable LUA

* Move R installation and cleanup

* Revert "Disable LUA"

This reverts commit d347897d77.

* Move cleaning step
2023-08-25 18:25:04 +00:00
Denis N. Antonioli
b4d7ecfbf1
4028: Use a script to install clj-kondo (#4347)
Co-authored-by: Zack Koppert <zkoppert@github.com>
Co-authored-by: Philip Mallegol-Hansen <philip@mallegolhansen.com>
2023-06-21 18:43:34 +00:00
Denis N. Antonioli
c7f01711bd split the installation scripts, inline or clean-up as possible 2023-04-25 23:05:56 -04:00
Denis N. Antonioli
5cbf58c106 parametrize the install scripts 2023-04-25 23:05:56 -04:00
Brett Logan
d6f7f917da
Accpet gpg installation during 'phive install'
Signed-off-by: Brett Logan <lindluni@github.com>
2023-04-10 13:54:26 -04:00
Brett Logan
03a3c29f60 Use Docker to pull kubeconform
Signed-off-by: Brett Logan <lindluni@github.com>
2023-01-16 21:14:13 -05:00
Brett Logan
6b6451f129 Overwrite nss file for glibc
Signed-off-by: Brett Logan <lindluni@github.com>
2023-01-04 20:17:46 -05:00
Brett Logan
2b8f626566 Fix deps and secret injection
Signed-off-by: Brett Logan <lindluni@github.com>
2023-01-04 20:17:46 -05:00
Brett Logan
22cdb4a0e0 Pull secret from disk
Signed-off-by: Brett Logan <lindluni@github.com>
2023-01-04 20:17:46 -05:00
Brett Logan
1137155331 Fix arm-ttk path
Signed-off-by: Brett Logan <lindluni@github.com>
2023-01-04 20:17:46 -05:00
Brett Logan
fd42e54c17 Seed arm-ttk directory
Signed-off-by: Brett Logan <lindluni@github.com>
2023-01-04 20:17:46 -05:00
Brett Logan
94c66e07b9 Debug install-phive.sh
Signed-off-by: Brett Logan <lindluni@github.com>
2023-01-04 20:17:46 -05:00
Brett Logan
5224656969 Push scripts into standalone files
Pushes inline scripts in the Dockerfile into standalone
scripts and authenticates requests to GitHub using a
Personal Access Token to reduce build flakiness due
to GitHub's abuse and ratelimiting due to unauthenticated
reuests.

Signed-off-by: Brett Logan <lindluni@github.com>
2023-01-04 20:17:46 -05:00