stylua 0.12.2

A code formatter for Lua
Documentation
name: Release

on:
  push:
    tags: ["*"]

jobs:
  windows:
    runs-on: windows-latest

    steps:
    - uses: actions/checkout@v1

    - name: Build (All features)
      run: cargo build --verbose --locked --release --all-features

    - name: Upload artifacts
      uses: actions/upload-artifact@v1
      with:
        name: stylua-win64
        path: target/release/stylua.exe

  macos:
    runs-on: macos-latest

    steps:
    - uses: actions/checkout@v1
      with:
        submodules: true

    - name: Install Rust
      run: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y

    - name: Build (All features)
      run: |
        source $HOME/.cargo/env
        cargo build --verbose --locked --release --all-features

    - name: Upload artifacts
      uses: actions/upload-artifact@v1
      with:
        name: stylua-macos
        path: target/release/stylua

  linux:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v1
      with:
        submodules: true

    - name: Build (All features)
      run: cargo build --locked --verbose --release --all-features

    - name: Upload artifacts
      uses: actions/upload-artifact@v1
      with:
        name: stylua-linux
        path: target/release/stylua
  
  release:
    runs-on: ubuntu-latest
    needs: ['windows', 'macos', 'linux']
    steps:
    - uses: actions/checkout@v1
    - name: Download artifacts
      uses: actions/download-artifact@v2
      with:
        path: artifacts
    - run: |
        zip -rj stylua-win64.zip ./artifacts/stylua-win64/*
        zip -rj stylua-macos.zip ./artifacts/stylua-macos/*
        zip -rj stylua-linux.zip ./artifacts/stylua-linux/*

        VERSION=`grep -Po '(?<=^version = ")([^"]+)' ./Cargo.toml`
        echo "VERSION=$VERSION" >> $GITHUB_ENV
    - name: Create release
      id: create_release
      uses: actions/create-release@v1
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      with:
        tag_name: ${{ github.ref }}
        release_name: ${{ github.ref }}
        draft: true
    
    - name: Upload windows build
      uses: actions/upload-release-asset@v1
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      with:
        upload_url: ${{ steps.create_release.outputs.upload_url }}
        asset_path: ./stylua-win64.zip
        asset_name: stylua-${{ env.VERSION }}-win64.zip
        asset_content_type: application/zip
    
    - name: Upload macos build
      uses: actions/upload-release-asset@v1
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      with:
        upload_url: ${{ steps.create_release.outputs.upload_url }}
        asset_path: ./stylua-macos.zip
        asset_name: stylua-${{ env.VERSION }}-macos.zip
        asset_content_type: application/zip

    - name: Upload linux build
      uses: actions/upload-release-asset@v1
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      with:
        upload_url: ${{ steps.create_release.outputs.upload_url }}
        asset_path: ./stylua-linux.zip
        asset_name: stylua-${{ env.VERSION }}-linux.zip
        asset_content_type: application/zip