Skip to content

0.50.0

0.50.0 #338

Workflow file for this run

# GENERATED BY ./ci.generate.ts -- DO NOT DIRECTLY EDIT
name: CI
on:
pull_request:
branches:
- main
push:
branches:
- main
tags:
- "*"
concurrency:
group: "${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}"
cancel-in-progress: true
jobs:
build:
name: "${{ matrix.config.target }}"
runs-on: "${{ matrix.config.os }}"
strategy:
matrix:
config:
- os: macos-13
run_tests: "true"
cross: "false"
target: x86_64-apple-darwin
- os: macos-latest
run_tests: "true"
cross: "false"
target: aarch64-apple-darwin
- os: windows-latest
run_tests: "true"
cross: "false"
target: x86_64-pc-windows-msvc
- os: ubuntu-20.04
run_tests: "true"
cross: "false"
target: x86_64-unknown-linux-gnu
- os: ubuntu-20.04
run_tests: "false"
cross: "true"
target: aarch64-unknown-linux-gnu
outputs:
ZIP_CHECKSUM_X86_64_APPLE_DARWIN: "${{steps.pre_release_x86_64_apple_darwin.outputs.ZIP_CHECKSUM}}"
ZIP_CHECKSUM_AARCH64_APPLE_DARWIN: "${{steps.pre_release_aarch64_apple_darwin.outputs.ZIP_CHECKSUM}}"
ZIP_CHECKSUM_X86_64_PC_WINDOWS_MSVC: "${{steps.pre_release_x86_64_pc_windows_msvc.outputs.ZIP_CHECKSUM}}"
ZIP_CHECKSUM_X86_64_UNKNOWN_LINUX_GNU: "${{steps.pre_release_x86_64_unknown_linux_gnu.outputs.ZIP_CHECKSUM}}"
ZIP_CHECKSUM_AARCH64_UNKNOWN_LINUX_GNU: "${{steps.pre_release_aarch64_unknown_linux_gnu.outputs.ZIP_CHECKSUM}}"
env:
CARGO_INCREMENTAL: 0
RUST_BACKTRACE: full
steps:
- uses: actions/checkout@v4
- uses: dsherret/rust-toolchain-file@v1
- name: Cache cargo
uses: Swatinem/rust-cache@v2
with:
prefix-key: "v3-${{matrix.config.target}}"
save-if: "${{ github.ref == 'refs/heads/main' }}"
- name: Setup Rust (aarch64-apple-darwin)
if: matrix.config.target == 'aarch64-apple-darwin'
run: rustup target add aarch64-apple-darwin
- uses: denoland/setup-deno@v1
- uses: actions/setup-node@v4
with:
node-version: 18
- name: npm install
run: cd js/node && npm ci
- name: Setup cross
if: matrix.config.cross == 'true'
run: |-
deno task build
cargo install cross --git https://github.com/cross-rs/cross --rev 44011c8854cb2eaac83b173cc323220ccdff18ea
- name: Build (Debug)
if: "matrix.config.cross != 'true' && !startsWith(github.ref, 'refs/tags/')"
run: "cargo build --locked --all-targets --target ${{matrix.config.target}}"
- name: Build release
if: "matrix.config.cross != 'true' && startsWith(github.ref, 'refs/tags/')"
run: "cargo build --locked --all-targets --target ${{matrix.config.target}} --release"
- name: Build cross (Debug)
if: "matrix.config.cross == 'true' && !startsWith(github.ref, 'refs/tags/')"
run: "cross build --locked --target ${{matrix.config.target}}"
- name: Build cross (Release)
if: "matrix.config.cross == 'true' && startsWith(github.ref, 'refs/tags/')"
run: "cross build --locked --target ${{matrix.config.target}} --release"
- name: Lint
if: "!startsWith(github.ref, 'refs/tags/') && matrix.config.target == 'x86_64-unknown-linux-gnu'"
run: cargo clippy
- name: Test (Debug)
if: "matrix.config.run_tests == 'true' && !startsWith(github.ref, 'refs/tags/')"
run: cargo test --locked --all-features
- name: Test (Release)
if: "matrix.config.run_tests == 'true' && startsWith(github.ref, 'refs/tags/')"
run: cargo test --locked --all-features --release
- name: Pre-release (x86_64-apple-darwin)
id: pre_release_x86_64_apple_darwin
if: "matrix.config.target == 'x86_64-apple-darwin' && startsWith(github.ref, 'refs/tags/')"
run: |-
cd target/x86_64-apple-darwin/release
zip -r dprint-plugin-prettier-x86_64-apple-darwin.zip dprint-plugin-prettier
echo "::set-output name=ZIP_CHECKSUM::$(shasum -a 256 dprint-plugin-prettier-x86_64-apple-darwin.zip | awk '{print $1}')"
- name: Pre-release (aarch64-apple-darwin)
id: pre_release_aarch64_apple_darwin
if: "matrix.config.target == 'aarch64-apple-darwin' && startsWith(github.ref, 'refs/tags/')"
run: |-
cd target/aarch64-apple-darwin/release
zip -r dprint-plugin-prettier-aarch64-apple-darwin.zip dprint-plugin-prettier
echo "::set-output name=ZIP_CHECKSUM::$(shasum -a 256 dprint-plugin-prettier-aarch64-apple-darwin.zip | awk '{print $1}')"
- name: Pre-release (x86_64-pc-windows-msvc)
id: pre_release_x86_64_pc_windows_msvc
if: "matrix.config.target == 'x86_64-pc-windows-msvc' && startsWith(github.ref, 'refs/tags/')"
run: |-
Compress-Archive -CompressionLevel Optimal -Force -Path target/x86_64-pc-windows-msvc/release/dprint-plugin-prettier.exe -DestinationPath target/x86_64-pc-windows-msvc/release/dprint-plugin-prettier-x86_64-pc-windows-msvc.zip
echo "::set-output name=ZIP_CHECKSUM::$(shasum -a 256 target/x86_64-pc-windows-msvc/release/dprint-plugin-prettier-x86_64-pc-windows-msvc.zip | awk '{print $1}')"
- name: Pre-release (x86_64-unknown-linux-gnu)
id: pre_release_x86_64_unknown_linux_gnu
if: "matrix.config.target == 'x86_64-unknown-linux-gnu' && startsWith(github.ref, 'refs/tags/')"
run: |-
cd target/x86_64-unknown-linux-gnu/release
zip -r dprint-plugin-prettier-x86_64-unknown-linux-gnu.zip dprint-plugin-prettier
echo "::set-output name=ZIP_CHECKSUM::$(shasum -a 256 dprint-plugin-prettier-x86_64-unknown-linux-gnu.zip | awk '{print $1}')"
- name: Pre-release (aarch64-unknown-linux-gnu)
id: pre_release_aarch64_unknown_linux_gnu
if: "matrix.config.target == 'aarch64-unknown-linux-gnu' && startsWith(github.ref, 'refs/tags/')"
run: |-
cd target/aarch64-unknown-linux-gnu/release
zip -r dprint-plugin-prettier-aarch64-unknown-linux-gnu.zip dprint-plugin-prettier
echo "::set-output name=ZIP_CHECKSUM::$(shasum -a 256 dprint-plugin-prettier-aarch64-unknown-linux-gnu.zip | awk '{print $1}')"
- name: Upload artifacts (x86_64-apple-darwin)
if: "matrix.config.target == 'x86_64-apple-darwin' && startsWith(github.ref, 'refs/tags/')"
uses: actions/upload-artifact@v2
with:
name: x86_64-apple-darwin-artifacts
path: target/x86_64-apple-darwin/release/dprint-plugin-prettier-x86_64-apple-darwin.zip
- name: Upload artifacts (aarch64-apple-darwin)
if: "matrix.config.target == 'aarch64-apple-darwin' && startsWith(github.ref, 'refs/tags/')"
uses: actions/upload-artifact@v2
with:
name: aarch64-apple-darwin-artifacts
path: target/aarch64-apple-darwin/release/dprint-plugin-prettier-aarch64-apple-darwin.zip
- name: Upload artifacts (x86_64-pc-windows-msvc)
if: "matrix.config.target == 'x86_64-pc-windows-msvc' && startsWith(github.ref, 'refs/tags/')"
uses: actions/upload-artifact@v2
with:
name: x86_64-pc-windows-msvc-artifacts
path: target/x86_64-pc-windows-msvc/release/dprint-plugin-prettier-x86_64-pc-windows-msvc.zip
- name: Upload artifacts (x86_64-unknown-linux-gnu)
if: "matrix.config.target == 'x86_64-unknown-linux-gnu' && startsWith(github.ref, 'refs/tags/')"
uses: actions/upload-artifact@v2
with:
name: x86_64-unknown-linux-gnu-artifacts
path: target/x86_64-unknown-linux-gnu/release/dprint-plugin-prettier-x86_64-unknown-linux-gnu.zip
- name: Upload artifacts (aarch64-unknown-linux-gnu)
if: "matrix.config.target == 'aarch64-unknown-linux-gnu' && startsWith(github.ref, 'refs/tags/')"
uses: actions/upload-artifact@v2
with:
name: aarch64-unknown-linux-gnu-artifacts
path: target/aarch64-unknown-linux-gnu/release/dprint-plugin-prettier-aarch64-unknown-linux-gnu.zip
draft_release:
name: draft_release
if: "startsWith(github.ref, 'refs/tags/')"
needs: build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Download artifacts
uses: actions/download-artifact@v2
- uses: denoland/setup-deno@v1
- name: Move downloaded artifacts to root directory
run: |-
mv x86_64-apple-darwin-artifacts/dprint-plugin-prettier-x86_64-apple-darwin.zip .
mv aarch64-apple-darwin-artifacts/dprint-plugin-prettier-aarch64-apple-darwin.zip .
mv x86_64-pc-windows-msvc-artifacts/dprint-plugin-prettier-x86_64-pc-windows-msvc.zip .
mv x86_64-unknown-linux-gnu-artifacts/dprint-plugin-prettier-x86_64-unknown-linux-gnu.zip .
mv aarch64-unknown-linux-gnu-artifacts/dprint-plugin-prettier-aarch64-unknown-linux-gnu.zip .
- name: Output checksums
run: |-
echo "dprint-plugin-prettier-x86_64-apple-darwin.zip: ${{needs.build.outputs.ZIP_CHECKSUM_X86_64_APPLE_DARWIN}}"
echo "dprint-plugin-prettier-aarch64-apple-darwin.zip: ${{needs.build.outputs.ZIP_CHECKSUM_AARCH64_APPLE_DARWIN}}"
echo "dprint-plugin-prettier-x86_64-pc-windows-msvc.zip: ${{needs.build.outputs.ZIP_CHECKSUM_X86_64_PC_WINDOWS_MSVC}}"
echo "dprint-plugin-prettier-x86_64-unknown-linux-gnu.zip: ${{needs.build.outputs.ZIP_CHECKSUM_X86_64_UNKNOWN_LINUX_GNU}}"
echo "dprint-plugin-prettier-aarch64-unknown-linux-gnu.zip: ${{needs.build.outputs.ZIP_CHECKSUM_AARCH64_UNKNOWN_LINUX_GNU}}"
- name: Create plugin file
run: deno run -A scripts/create_plugin_file.ts
- name: Get tag version
id: get_tag_version
run: 'echo ::set-output name=TAG_VERSION::${GITHUB_REF/refs\/tags\//}'
- name: Get plugin file checksum
id: get_plugin_file_checksum
run: 'echo "::set-output name=CHECKSUM::$(shasum -a 256 plugin.json | awk ''{print $1}'')"'
- name: Release
uses: softprops/action-gh-release@v1
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
with:
files: |-
dprint-plugin-prettier-x86_64-apple-darwin.zip
dprint-plugin-prettier-aarch64-apple-darwin.zip
dprint-plugin-prettier-x86_64-pc-windows-msvc.zip
dprint-plugin-prettier-x86_64-unknown-linux-gnu.zip
dprint-plugin-prettier-aarch64-unknown-linux-gnu.zip
plugin.json
body: |
## Install
Dependencies:
- Install dprint's CLI >= 0.40.0
In a dprint configuration file:
1. Specify the plugin url and checksum in the `"plugins"` array or run `dprint config add prettier`:
```jsonc
{
// etc...
"plugins": [
// ...add other dprint plugins here that you want to take precedence over prettier...
"https://plugins.dprint.dev/prettier-${{ steps.get_tag_version.outputs.TAG_VERSION }}.json@${{ steps.get_plugin_file_checksum.outputs.CHECKSUM }}"
]
}
```
2. Add a `"prettier"` configuration property if desired.
```jsonc
{
// ...etc...
"prettier": {
"trailingComma": "all",
"singleQuote": true,
"proseWrap": "always"
}
}
```
draft: false