cambridge-asm 0.3.2

Run pseudoassembly from Cambridge International syllabus 9618
Documentation
name: Release

on:
  push:
    tags:
      - 'v[0-9]+.[0-9]+.[0-9]+*'

jobs:
  release:
    name: Release
    runs-on: ubuntu-latest
    
    steps:
      - uses: actions/checkout@v2

      - name: Set release version
        run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
      
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
      
      - name: Add targets
        run: rustup target add x86_64-unknown-linux-musl x86_64-pc-windows-gnu
      
      - name: Linux build
        run: cargo build --release --target x86_64-unknown-linux-musl
      
      - name: Install MinGW
        run: sudo apt-get install gcc-mingw-w64-x86-64
      
      - name: Windows build
        run: cargo build --release --target x86_64-pc-windows-gnu
      
      - name: Login
        run: echo "${{ secrets.GITHUB_TOKEN }}" | gh auth login --with-token
      
      - name: Copy
        run: cp target/x86_64-unknown-linux-musl/release/cambridge-asm . && cp target/x86_64-pc-windows-gnu/release/cambridge-asm.exe .
      
      - name: Zipping linux
        run: zip cambridge-asm-amd64-linux.zip cambridge-asm LICENSE README.md
      
      - name: Zipping windows
        run: zip cambridge-asm-x64-windows.zip cambridge-asm.exe LICENSE README.md

      - name: Compute checksums
        run: sha256sum cambridge-asm-amd64-linux.zip > cambridge-asm-amd64-linux.zip.sha256sum && sha256sum cambridge-asm-x64-windows.zip > cambridge-asm-x64-windows.zip.sha256sum.txt

      - name: Release
        run: gh release create -t "cambridge-asm-${{ env.RELEASE_VERSION }}" ${{ env.RELEASE_VERSION }} cambridge-asm-amd64-linux.zip cambridge-asm-amd64-linux.zip.sha256sum cambridge-asm-x64-windows.zip cambridge-asm-x64-windows.zip.sha256sum.txt