From 5ffed3d2faa240a6dafb76bb6505ed39d650eee8 Mon Sep 17 00:00:00 2001 From: pat-s Date: Wed, 10 Apr 2024 07:16:10 +0000 Subject: [PATCH] Add link checker and prettier (#49) Adapted from WP main repo. Reviewed-on: https://codeberg.org/Codeberg-CI/examples/pulls/49 Co-authored-by: pat-s Co-committed-by: pat-s --- .prettierrc.json | 8 ++++ .woodpecker.yaml | 12 +++++ C/.woodpecker/make.yaml | 1 + C/.woodpecker/meson-android.yaml | 1 + C/.woodpecker/meson.yaml | 1 + .../.woodpecker/buildx-multi-registries.yaml | 3 +- Docker/.woodpecker/buildx.yaml | 1 + Docker/.woodpecker/kaniko.yaml | 2 + Golang/.woodpecker/build-docker.yaml | 22 +++++----- Golang/.woodpecker/build.yaml | 2 + Hugo/.woodpecker.yaml | 1 + Jekyll/.woodpecker/jekyll.yaml | 2 + KiCad/.woodpecker.yaml | 4 ++ .../config.kibot.yaml | 44 +++++++++---------- NodeJS/.woodpecker.yaml | 2 + Python/.woodpecker/mkdocs.yaml | 4 ++ R/.woodpecker.yaml | 4 +- README.md | 4 +- Rust/.woodpecker.yaml | 2 + Tectonic/.woodpecker.yaml | 7 ++- Typst/.woodpecker.yaml | 3 ++ 21 files changed, 92 insertions(+), 38 deletions(-) create mode 100644 .prettierrc.json diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 0000000..aed6467 --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,8 @@ +{ + "semi": true, + "trailingComma": "all", + "singleQuote": true, + "printWidth": 120, + "tabWidth": 2, + "endOfLine": "lf" +} diff --git a/.woodpecker.yaml b/.woodpecker.yaml index 470e9c4..b6a935f 100644 --- a/.woodpecker.yaml +++ b/.woodpecker.yaml @@ -27,3 +27,15 @@ steps: image: cytopia/yamllint:alpine-1 commands: - yamllint --strict -c=.yamllint.yaml . + + link-checker: + image: lycheeverse/lychee:0.14.3 + depends_on: [] + commands: + - lychee . + + prettier: + image: docker.io/woodpeckerci/plugin-prettier:0.1.0 + depends_on: [] + settings: + version: 3.2.5 diff --git a/C/.woodpecker/make.yaml b/C/.woodpecker/make.yaml index ef23fd4..57acea2 100644 --- a/C/.woodpecker/make.yaml +++ b/C/.woodpecker/make.yaml @@ -5,6 +5,7 @@ steps: # also runs on pull requests targeting these branch. when: branch: [master, dev] + event: [push, pull_request] commands: | # alpine uses build-base for dev utilies such as system headers, make etc. apk add --no-cache build-base gcc >/dev/null diff --git a/C/.woodpecker/meson-android.yaml b/C/.woodpecker/meson-android.yaml index 1b08b4a..0fe1641 100644 --- a/C/.woodpecker/meson-android.yaml +++ b/C/.woodpecker/meson-android.yaml @@ -14,6 +14,7 @@ steps: # also runs on pull requests targeting these branches. when: branch: [master, dev] + event: [push, pull_request] commands: | # Possible profiles: # android-arm64-v8a.txt diff --git a/C/.woodpecker/meson.yaml b/C/.woodpecker/meson.yaml index 6d0f0a8..e3cb467 100644 --- a/C/.woodpecker/meson.yaml +++ b/C/.woodpecker/meson.yaml @@ -16,6 +16,7 @@ steps: # also runs on pull requests targeting these branches. when: branch: [master, dev] + event: [push, pull_request] commands: | mkdir build && cd build meson .. diff --git a/Docker/.woodpecker/buildx-multi-registries.yaml b/Docker/.woodpecker/buildx-multi-registries.yaml index 3011f16..77000bb 100644 --- a/Docker/.woodpecker/buildx-multi-registries.yaml +++ b/Docker/.woodpecker/buildx-multi-registries.yaml @@ -5,6 +5,7 @@ when: branch: main + event: [push, pull_request] steps: publish: @@ -18,7 +19,7 @@ steps: password: from_secret: docker_token - registry: https://codeberg.org - username: "6543" + username: '6543' password: from_secret: cb_token - registry: https://.dkr.ecr..amazonaws.com diff --git a/Docker/.woodpecker/buildx.yaml b/Docker/.woodpecker/buildx.yaml index dbd8636..3d7adee 100644 --- a/Docker/.woodpecker/buildx.yaml +++ b/Docker/.woodpecker/buildx.yaml @@ -8,6 +8,7 @@ when: branch: main + event: [push, pull_request] variables: - &file Dockerfile.hello diff --git a/Docker/.woodpecker/kaniko.yaml b/Docker/.woodpecker/kaniko.yaml index 44da122..62f83d7 100644 --- a/Docker/.woodpecker/kaniko.yaml +++ b/Docker/.woodpecker/kaniko.yaml @@ -6,6 +6,8 @@ steps: publish-docker-image: + when: + event: [push, pull_request] image: plugins/kaniko settings: repo: sample/image diff --git a/Golang/.woodpecker/build-docker.yaml b/Golang/.woodpecker/build-docker.yaml index 5426459..0ae6637 100644 --- a/Golang/.woodpecker/build-docker.yaml +++ b/Golang/.woodpecker/build-docker.yaml @@ -1,6 +1,8 @@ steps: # Builds your Go application build: + when: + event: [push, pull_request] image: golang environment: # Needed if you want to cross-compile and package the binary in a container. @@ -15,6 +17,8 @@ steps: # Runs a dryrun to build the docker container dryrun-docker: + when: + event: [push, pull_request] image: plugins/kaniko settings: repo: DOCKERUSERNAME/DOCKERHUBREPO @@ -22,11 +26,12 @@ steps: dockerfile: Dockerfile # Just builds the container without a push to DockerHub. no_push: true - when: - event: pull_request # Builds and publishes a docker container to DockerHub from the main-branch publish-docker-latest: + when: + branch: main + event: [push] image: plugins/kaniko settings: repo: DOCKERUSERNAME/DOCKERHUBREPO @@ -38,13 +43,14 @@ steps: password: # Secret 'docker_password' needs to be set in the CI settings from_secret: docker_password - when: - # Push new version of tag latest if new push on main-branch - event: push - branch: main # Builds and publishes a docker container of a tag publish-docker-tag: + when: + # Push new version when version tag is created + event: tag + ref: refs/tags/v* + branch: main image: plugins/kaniko settings: repo: DOCKERUSERNAME/DOCKERHUBREPO @@ -57,7 +63,3 @@ steps: password: # Secret 'docker_password' needs to be set in the CI settings from_secret: docker_password - when: - # Push new version when version tag is created - event: tag - ref: refs/tags/v* diff --git a/Golang/.woodpecker/build.yaml b/Golang/.woodpecker/build.yaml index a19f673..1181485 100644 --- a/Golang/.woodpecker/build.yaml +++ b/Golang/.woodpecker/build.yaml @@ -1,5 +1,7 @@ steps: build: + when: + event: [push, pull_request] image: golang commands: - go get diff --git a/Hugo/.woodpecker.yaml b/Hugo/.woodpecker.yaml index fd1b453..a57455c 100644 --- a/Hugo/.woodpecker.yaml +++ b/Hugo/.woodpecker.yaml @@ -15,6 +15,7 @@ when: branch: exclude: pages + event: [push, pull_request] # Recursive cloning is used to fully clone the themes given as Git submodules clone: diff --git a/Jekyll/.woodpecker/jekyll.yaml b/Jekyll/.woodpecker/jekyll.yaml index 318cbc2..9b5a2df 100644 --- a/Jekyll/.woodpecker/jekyll.yaml +++ b/Jekyll/.woodpecker/jekyll.yaml @@ -21,6 +21,8 @@ steps: build: + when: + event: [push, pull_request] # Use the official jekyll build container image: jekyll/jekyll secrets: [cbtoken, cbmail] diff --git a/KiCad/.woodpecker.yaml b/KiCad/.woodpecker.yaml index c12cad4..f07757e 100644 --- a/KiCad/.woodpecker.yaml +++ b/KiCad/.woodpecker.yaml @@ -28,6 +28,8 @@ steps: # kibot creates the files kibot: + when: + event: [push, pull_request] image: ghcr.io/inti-cmnb/kicad7_auto_full:latest commands: # you just need to run "kibot". If your pcb is in a @@ -37,6 +39,8 @@ steps: # gitea package stores the resulting file as a package artifacts: + when: + event: [push, pull_request] image: gurken2108/drone-gitea-package settings: user: diff --git a/KiCad/codeberg-kicad-kibot-example/config.kibot.yaml b/KiCad/codeberg-kicad-kibot-example/config.kibot.yaml index a8c4690..fff1a29 100644 --- a/KiCad/codeberg-kicad-kibot-example/config.kibot.yaml +++ b/KiCad/codeberg-kicad-kibot-example/config.kibot.yaml @@ -14,49 +14,49 @@ preflight: # you can use this to raise errors in DRC or ERC outputs: - - name: "gerbers" - comment: "Gerbers for production" + - name: 'gerbers' + comment: 'Gerbers for production' type: gerber dir: kibot/gerber layers: - - "copper" - - "technical" + - 'copper' + - 'technical' - - name: "gerber-drill" - comment: "Drill positions for production" - type: "gerb_drill" + - name: 'gerber-drill' + comment: 'Drill positions for production' + type: 'gerb_drill' dir: kibot/gerber - - name: "gerber-compressed" - comment: "compressing the gerbers into one convenient file" + - name: 'gerber-compressed' + comment: 'compressing the gerbers into one convenient file' type: compress dir: kibot options: files: - - from_output: "gerbers" + - from_output: 'gerbers' dest: / - - from_output: "gerber-drill" + - from_output: 'gerber-drill' dest: / - - name: "ibom" - type: "ibom" - comment: "ibom for your convenience" + - name: 'ibom' + type: 'ibom' + comment: 'ibom for your convenience' dir: kibot - - name: "schematic-pdf" - comment: "schematic for your convenience" - type: "pdf_sch_print" + - name: 'schematic-pdf' + comment: 'schematic for your convenience' + type: 'pdf_sch_print' dir: kibot - - name: "production-files" - comment: "compressing all the generated files for easy downloading" + - name: 'production-files' + comment: 'compressing all the generated files for easy downloading' type: compress dir: kibot options: files: - - from_output: "gerber-compressed" + - from_output: 'gerber-compressed' dest: / - - from_output: "ibom" + - from_output: 'ibom' dest: / - - from_output: "schematic-pdf" + - from_output: 'schematic-pdf' dest: / diff --git a/NodeJS/.woodpecker.yaml b/NodeJS/.woodpecker.yaml index 858421f..3196285 100644 --- a/NodeJS/.woodpecker.yaml +++ b/NodeJS/.woodpecker.yaml @@ -23,6 +23,8 @@ steps: build: + when: + event: [push, pull_request] # Use the official jekyll build container image: node secrets: [cbtoken, cbmail, cbusername, sourcerepo, destrepo] diff --git a/Python/.woodpecker/mkdocs.yaml b/Python/.woodpecker/mkdocs.yaml index b759727..c77ef4c 100644 --- a/Python/.woodpecker/mkdocs.yaml +++ b/Python/.woodpecker/mkdocs.yaml @@ -4,6 +4,8 @@ steps: build-docs: + when: + event: [push, pull_request] # build the docs with mkdocs and add the .domains file for codeberg pages image: squidfunk/mkdocs-material commands: @@ -11,6 +13,8 @@ steps: - echo -e '\n.codeberg.page\npages..codeberg.page' > site/.domains deploy-docs: + when: + event: [push, pull_request] image: codeberg.org/xfix/plugin-codeberg-pages-deploy:1 settings: folder: site diff --git a/R/.woodpecker.yaml b/R/.woodpecker.yaml index 8390e78..19b477a 100644 --- a/R/.woodpecker.yaml +++ b/R/.woodpecker.yaml @@ -9,7 +9,9 @@ # Alternatively, the rcmdcheck package can be installed and use in replacement to `R CMD check``. steps: - "Check package": + 'Check package': + when: + event: [push, pull_request] image: rocker/r-base secrets: [github_pat] commands: diff --git a/README.md b/README.md index d627d22..946210d 100644 --- a/README.md +++ b/README.md @@ -10,8 +10,8 @@ Pull requests are welcome! | [C/.woodpecker/meson-android.yaml](C/.woodpecker/meson-android.yaml) | C/C++ | meson + Android NDK | CI for meson-based projects cross-compiling to Android NDK. | | [Docker/.woodpecker/kaniko.yaml](Docker/.woodpecker/kaniko.yaml) | Dockerfile | [Kaniko][1] | Minimalistic CI pipeline with clear instructions to push a Docker image | | [Docker/.woodpecker/buildx.yaml](Docker/.woodpecker/buildx.yaml) | Dockerfile | [buildx][2] | Build and publish Docker images for multiple architectures on codeberg | -| [golang/.woodpecker/build.yaml](golang/.woodpecker/build.yaml) | golang | golang | Simple ci for building and test a Go project | -| [golang/.woodpecker/build-docker.yaml](golang/.woodpecker/build-docker.yaml) | golang | golang / kaniko | CI to build golang project and build various docker container and publish them on DockerHub | +| [Golang/.woodpecker/build.yaml](Golang/.woodpecker/build.yaml) | golang | golang | Simple ci for building and test a Go project | +| [Golang/.woodpecker/build-docker.yaml](Golang/.woodpecker/build-docker.yaml) | golang | golang / kaniko | CI to build golang project and build various docker container and publish them on DockerHub | | [KiCad/.woodpecker.yaml](KiCad/.woodpecker.yaml) | --- | KiBot | Building gerber files, ibom and a pdf schematic as an example for KiBot use | | [NodeJS/.woodpecker.yaml](NodeJS/.woodpecker.yaml) | JavaScript | NodeJS | CI to build static websites files and publish them to Codeberg Pages with 11ty | | [Tectonic/.woodpecker.yaml](Tectonic/.woodpecker.yaml) | LaTeX | Tectonic | Builds a TeX file and pushes the resulting PDF file to a given repository. | diff --git a/Rust/.woodpecker.yaml b/Rust/.woodpecker.yaml index a06cd54..9787512 100644 --- a/Rust/.woodpecker.yaml +++ b/Rust/.woodpecker.yaml @@ -3,6 +3,8 @@ matrix: steps: test: + when: + event: [push, pull_request] image: rust environment: [CARGO_TERM_COLOR=always] commands: diff --git a/Tectonic/.woodpecker.yaml b/Tectonic/.woodpecker.yaml index d6ffe3a..9ea6b78 100644 --- a/Tectonic/.woodpecker.yaml +++ b/Tectonic/.woodpecker.yaml @@ -21,6 +21,8 @@ steps: build: + when: + event: [push, pull_request] image: dxjoke/tectonic-docker environment: - TEX_FOLDER=docs @@ -28,6 +30,9 @@ steps: commands: - tectonic -r 1 $TEX_FOLDER/$TEX_FILENAME.tex deploy: + when: + branch: main + event: [push, pull_request] image: alpine/git environment: - TEX_FOLDER=docs @@ -54,5 +59,3 @@ steps: - git add $PDF_FOLDER/$PDF_FILENAME.pdf - git commit -m "Woodpecker CI LaTeX Build at $( env TZ=Europe/Berlin date + "%Y-%m-%d %X %Z" )" - git push - when: - branch: main diff --git a/Typst/.woodpecker.yaml b/Typst/.woodpecker.yaml index a5a0f83..4f85f50 100644 --- a/Typst/.woodpecker.yaml +++ b/Typst/.woodpecker.yaml @@ -21,6 +21,8 @@ steps: build: + when: + event: [push, pull_request] image: 123marvin123/typst environment: - TYPST_FOLDER=docs @@ -56,3 +58,4 @@ steps: - git push when: branch: main + event: [push, pull_request]