rss2email 2.1.1

An RSS feed aggregator that notifies you of new posts via email.
Documentation
name: Create a release
on:
  workflow_dispatch:
    inputs:
      version:
        description: Version to release
        required: true
        type: string

jobs:
  publish:
    runs-on: ubuntu-22.04
    steps:
      - name: Checkout
        uses: actions/checkout@v3

      - name: Use cached dependencies
        uses: Swatinem/rust-cache@v2

      - name: Prepare
        run: |
          cargo install cargo-release

          touch .env
          touch feeds.txt

          pip3 install ziglang
          cargo install cargo-zigbuild
          rustup target add aarch64-unknown-linux-musl

      - name: Login to Crates.io
        run: cargo login ${{ secrets.CRATESIO_TOKEN }}

      - name: Crates.io
        run: cargo release publish --execute --no-confirm

      - name: Login to Docker Hub
        uses: docker/login-action@v2
        with:
          username: ${{ secrets.DOCKERHUB_USERNAME }}
          password: ${{ secrets.DOCKERHUB_TOKEN }}

      - name: Docker - x86
        run: |
          cargo build -r -F aws-lambda
          docker build -t antoniosbarotsis/rss2email-x86:${{ inputs.version }} --build-arg path="./target/release/rss2email" -f Dockerfile.scratch .
          docker push antoniosbarotsis/rss2email-x86:${{ inputs.version }}

      - name: Docker - arm
        run: |
          cargo zigbuild -r -F aws-lambda --target aarch64-unknown-linux-musl
          docker build -t antoniosbarotsis/rss2email-arm:${{ inputs.version }} --build-arg path="./target/aarch64-unknown-linux-musl/release/rss2email" -f Dockerfile.scratch .
          docker push antoniosbarotsis/rss2email-arm:${{ inputs.version }}