axxd 0.1.0

A simple axx file decryption tool.
Documentation
name: Rust CI

on:
  push:
    branches: [ '*' ]
  pull_request:
    branches: [ '*' ]

jobs:
  build:
    name: Build project
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2

      - name: Install latest rust toolchain
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          default: true
          override: true

      - name: Test
        run: cargo clippy -- -Dwarnings && cargo test

      - name: Build release
        run: cargo build --release

      - name: Build documentation
        run: cargo doc --no-deps

      - name: Upload compiled files
        uses: actions/upload-artifact@v2
        with:
          name: axxd-target
          path: 'target/**/*'

  deploy_doc:
    name: Deploy documentation
    runs-on: ubuntu-latest
    needs: [ build ]
    if: github.ref == 'refs/heads/master'

    steps:
      - uses: actions/checkout@v2

      - name: Download compiled files
        uses: actions/download-artifact@v2
        with:
          name: axxd-target
          path: target

      - name: Deploy to GitHub Pages
        uses: JamesIves/github-pages-deploy-action@4.1.1
        with:
          branch: gh-pages
          folder: 'target/doc'

  deploy_crate:
    name: Deploy crate
    runs-on: ubuntu-latest
    needs: [ build, deploy_doc ]
    if: github.ref == 'refs/heads/master'

    steps:
      - uses: actions/checkout@v2

      - name: Install latest rust toolchain
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          default: true
          override: true

      - name: Download compiled files
        uses: actions/download-artifact@v2
        with:
          name: axxd-target
          path: target

      - name: Publish to crates.io
        uses: katyo/publish-crates@v1
        with:
          registry-token: ${{ secrets.CRATES_TOKEN }}