Skip to content

Files

Latest commit

09ae161 · Apr 13, 2024

History

History
This branch is 2745 commits behind coderaiser/putout:master.

plugin-github

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Mar 18, 2024
Mar 18, 2024
Jul 20, 2022
Mar 18, 2024
Apr 10, 2024
Apr 13, 2024
Mar 12, 2024
Apr 21, 2021
Mar 18, 2024
Apr 8, 2024

@putout/plugin-github NPM version

Automate, customize, and execute your software development workflows right in your repository with GitHub Actions.

(c) github.com

🐊Putout plugin helps with Github Actions.

Install

npm i @putout/plugin-github -D

Rules

{
    "rules": {
        "github/add-continue-on-error-to-coveralls": "on",
        "github/add-continue-on-error-to-add-and-commit": "on",
        "github/set-node-versions": "on",
        "github/install-bun": "on",
        "github/install-rust": "on",
        "github/convert-npm-to-bun": "on",
        "github/update-actions": "on"
    }
}

add-continue-on-error-to-coveralls

Add ability to continue when cannot submit coverage to Coveralls using continue-on-error.

  - name: Commit fixes
    continue-on-error: true
    uses: EndBug/add-and-commit@v9
    with:
      fetch: --force
      message: "chore: ${{ env.NAME }}: actions: lint ☘️"
      pull: --rebase --autostash
+   continue-on-error: true

add-continue-on-error-to-coveralls

Add ability to continue when cannot submit coverage to Coveralls using continue-on-error.

  - name: Coveralls
    uses: coverallsapp/github-action@v2
    with:
      github-token: ${{ secrets.GITHUB_TOKEN }}
+   continue-on-error: true

set-node-versions

jobs:
  build:

    runs-on: ubuntu-latest

    strategy:
      matrix:
-       node-version: [16.x, 18.x, 20.x, 21.x]
+       node-version: [18.x, 20.x, 21.x]

You can override versions with:

{
    "rules": {
        "github/set-node-versions": ["on", {
            "versions": [
                "16.x",
                "18.x",
                "20.x",
                "21.x"
            ]
        }]
    }
}

update-actions

coverallsapp/github-action@master:

      - name: Coveralls
-       uses: coverallsapp/github-action@master
+       uses: coverallsapp/github-action@v2

docker/login-action:

      - name: Login to Docker Hub
-       uses: docker/login-action@v2
+       uses: docker/login-action@v3

docker/build-push:

      - name: Build and push alpine-image
-       uses: docker/build-push-action@v4
+       uses: docker/build-push-action@v5

docker/setup-buildx:

      - name: Set up Docker Buildx
-       uses: docker/setup-buildx-action@v2
+       uses: docker/setup-buildx-action@v3

actions/checkout:

  steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v3

actions/cache:

  steps:
-      - uses: actions/cache@v3
+      - uses: actions/checkout@v4

actions/setup-node:

  steps:
-      - uses: actions/setup-node@v2
+      - uses: actions/setup-node@v3

docker/setup-quemu:

  steps:
        - name: Set up QEMU
-         uses: docker/setup-qemu-action@v2
+         uses: docker/setup-qemu-action@v3

EndBug/add-and-commit:

  steps:
-      uses: EndBug/add-and-commit@v7
+      uses: EndBug/add-and-commit@v9

install-bun

Bun is an all-in-one toolkit for JavaScript and TypeScript apps. It ships as a single executable called bun.

At its core is the Bun runtime, a fast JavaScript runtime designed as a drop-in replacement for Node.js. It's written in Zig and powered by JavaScriptCore under the hood, dramatically reducing startup times and memory usage.

(c) bun.sh.

Checkout in 🐊Putout Editor.

steps:
  - uses: actions/checkout@v3
  - name: Use Node.js ${{ matrix.node-version }}
    uses: actions/setup-node@v3
    with:
      node-version: ${{ matrix.node-version }}
+  - uses: oven-sh/setup-bun@v1
+    with:
+      bun-version: latest

install-rust

A language empowering everyone to build reliable and efficient software.

(c) Rust.

Checkout in 🐊Putout Editor.

steps:
  - uses: actions-rs/toolchain@v1
    with:
      toolchain: stable
+  - name: Install Rust
+    run: runstup update

install-bun

Bun is an all-in-one toolkit for JavaScript and TypeScript apps. It ships as a single executable called bun.

At its core is the Bun runtime, a fast JavaScript runtime designed as a drop-in replacement for Node.js. It's written in Zig and powered by JavaScriptCore under the hood, dramatically reducing startup times and memory usage.

(c) bun.sh.

Bun install works much faster: 40s before - 2s after.

Checkout in 🐊Putout Editor.

- name: Install Redrun
-    run: npm i redrun -g
+    run: bun i redrun -g --no-save
- name: Install
-    run: npm install
+    run: bun i --no-save

MIT