diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 0ac64fa..d797f40 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -1 +1,47 @@ -bmFtZTogQ0kKCm9uOgogIHB1c2g6CiAgICBicmFuY2hlczogWyBtYWluLCBtYXN0ZXIgXQogIHB1bGxfcmVxdWVzdDoKICAgIGJyYW5jaGVzOiBbIG1haW4sIG1hc3RlciBdCgpqb2JzOgogIGxpbnQ6CiAgICBydW5zLW9uOiB1YnVudHUtbGF0ZXN0CiAgICBzdGVwczoKICAgICAgLSB1c2VzOiBhY3Rpb25zL2NoZWNrb3V0QHY0CgogICAgICAtIG5hbWU6IFNldCB1cCBSdXN0CiAgICAgICAgdXNlczogZHRvbG5heS9ydXN0LXRvb2xjaGFpbkB2MQogICAgICAgIHdpdGg6CiAgICAgICAgICB0b29sY2hhaW46IHN0YWJsZQogICAgICAgICAgY29tcG9uZW50czogcnVzdGZtdCwgY2xpcHB5CgogICAgICAtIG5hbWU6IENoZWNrIHJ1c3RmbXQgYXZhaWxhYmlsaXR5CiAgICAgICAgd29ya2luZy1kaXJlY3Rvcnk6IC4vZ2l0aWdub3JlLWdlbgogICAgICAgIHJ1bjogcnVzdGZtdCAtLXZlcnNpb24KCiAgICAgIC0gbmFtZTogUnVuIFJ1c3QgbGludGluZwogICAgICAgIHdvcmtpbmctZGlyZWN0b3J5OiAuL2dpdGlnbm9yZS1nZW4KICAgICAgICBydW46IHwKICAgICAgICAgIGNhcmdvIGZtIC0tY2hlY2sKICAgICAgICAgIGNhcmdvIGNsaXBweSAtLWFsbC10YXJnZXRzIC0tYWxsLWZlYXR1cmVzIC0tIC1EIHdhcm5pbmdzCgp0ZXN0OgogIHJ1bnMtOm9uOiB1YnVudHUtbGF0ZXN0CiAgc3RlcHM6CiAgICAtIHVzZXM6IGFjdGlvbnMvY2hlY2tvdXRCdjQKCiAgICAtIG5hbWU6IFNldCB1cCBSdXN0CiAgICAgICAgdXNlczogZHRvbG5heS9ydXN0LXRvb2xjaGFpbkB2MQogICAgICAgIHdpdGg6CiAgICAgICAgICB0b29sY2hhaW46IHN0YWJsZQogICAgICAgICAgY29tcG9uZW50czogcnVzdGZtdAoKICAgICAgLSBuYW1lOiBCdWlsZCBSdXN0IHByb2plY3QKICAgICAgICB3b3JraW5nLWRpcmVjdG9yeTogLi9naXRpZ25vcmUtZ2VuCiAgICAgICAgcnVuOiBjYXJnbyBidWlsZCAtLWFsbC10YXJnZXRzCgogICAgICAtIG5hbWU6IFJ1biBSdXN0IHRlc3RzCiAgICAgICAgd29ya2luZy1kaXJlY3Rvcnk6IC4vZ2l0aWdub3JlLWdlbgogICAgICAgIHJ1bjogY2FyZ28gdGVzdAo= \ No newline at end of file +name: CI + +on: + push: + branches: [ main, master ] + pull_request: + branches: [ main, master ] + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Set up Rust + uses: dtolnay/rust-toolchain@master + with: + toolchain: stable + components: rustfmt, clippy + + - name: Check rustfmt availability + run: command -v rustfmt || rustup component add rustfmt + + - name: Run Rust linting + working-directory: ./gitignore-gen + run: | + cargo fmt --check + cargo clippy --all-targets --all-features -- -D warnings + + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Set up Rust + uses: dtolnay/rust-toolchain@master + with: + toolchain: stable + components: rustfmt + + - name: Build Rust project + working-directory: ./gitignore-gen + run: cargo build --all-targets + + - name: Run Rust tests + working-directory: ./gitignore-gen + run: cargo test