diff --git a/.github/workflows/clippy.yml b/.github/workflows/clippy.yml index e69de29bb..36b9ad180 100644 --- a/.github/workflows/clippy.yml +++ b/.github/workflows/clippy.yml @@ -0,0 +1,19 @@ +name: Code quality + +on: + push: + tags: + - 'v*' +env: + CARGO_TERM_COLOR: always +jobs: + publish: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - run: cargo login ${CRATES_IO_TOKEN} + working-directory: ./daedalus + env: + CRATES_IO_TOKEN: ${{ secrets.CRATES_IO_TOKEN }} + - run: cargo publish + working-directory: ./daedalus diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index e69de29bb..0b7a22b14 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -0,0 +1,33 @@ +name: docker-build + +on: + push: + branches: + - '**' + tags: + - 'v*' + pull_request: + +jobs: + docker: + runs-on: ubuntu-latest + steps: + - + name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - + name: Login to GitHub Images + uses: docker/login-action@v1 + with: + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - + name: Build and push + id: docker_build + uses: docker/build-push-action@v2 + with: + push: ${{ github.event_name != 'pull_request' }} + tags: ghcr.io/modrinth/daedalus:latest diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index e69de29bb..d22210e6b 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -0,0 +1,30 @@ +name: Publish to crates.io + +on: + push: + branches: [ master ] + pull_request: +env: + CARGO_TERM_COLOR: always +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Install toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + components: rustfmt, clippy + - name: Cache build artifacts + id: cache-build + uses: actions/cache@v2 + with: + path: target/** + key: ${{ runner.os }}-build-cache + - name: Annotate commit with clippy warnings + uses: actions-rs/clippy-check@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + args: --all-features diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index e69de29bb..a55aaf6e1 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -0,0 +1,29 @@ +name: Rust building + +on: + push: + branches: [ master ] + pull_request: +env: + CARGO_TERM_COLOR: always +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Get build cache + id: cache-build + uses: actions/cache@v2 + with: + path: target/** + key: ${{ runner.os }}-build-cache + - name: Install toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + env: + SQLX_OFFLINE: true + - uses: actions-rs/cargo@v1 + name: Build program + with: + command: build diff --git a/Dockerfile b/Dockerfile index e69de29bb..c98c954f0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -0,0 +1,7 @@ +FROM rust:1.56 + +COPY ./ ./ + +RUN cargo build --release + +CMD ["./target/release/daedalus_client"] \ No newline at end of file