From 1dab914a642be19d6cf70736c8010640102d8db5 Mon Sep 17 00:00:00 2001 From: Tulili Date: Mon, 25 Mar 2024 21:52:17 -0300 Subject: [PATCH] feat: github actions + some CI things --- .github/ISSUE_TEMPLATE/bug-report.yml | 37 --- .github/ISSUE_TEMPLATE/feature-request.yml | 30 -- .github/issue-management.yml | 24 ++ .github/pull_request_template.md | 5 + .github/workflows/issue-management.yml | 24 ++ .github/workflows/next-gh-pages.yml | 50 ++++ flake.lock | 314 +++++++++++++++++++++ 7 files changed, 417 insertions(+), 67 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/bug-report.yml delete mode 100644 .github/ISSUE_TEMPLATE/feature-request.yml create mode 100644 .github/issue-management.yml create mode 100644 .github/pull_request_template.md create mode 100644 .github/workflows/issue-management.yml create mode 100644 .github/workflows/next-gh-pages.yml create mode 100644 flake.lock diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml deleted file mode 100644 index 22af769..0000000 --- a/.github/ISSUE_TEMPLATE/bug-report.yml +++ /dev/null @@ -1,37 +0,0 @@ ---- -name: Bug Report -description: Report an issue about using Atomic Studio -body: - - type: markdown - attributes: - value: | - Thank you for taking the time to fill out this bug report! - - type: textarea - id: describe-bug - attributes: - label: Describe the bug - description: A clear and concise description of what the bug is. - placeholder: Tell us what happened! - value: "When I entered 2 + 2, I got the answer 6." - validations: - required: true - - type: textarea - id: expected-bahavior - attributes: - label: What did you expect to happen? - description: A clear description of what you expected to happen. - placeholder: What were you expecting to happen? - value: "I expected 2 + 2 to equal 4, but instead 2 + 2 equaled 6!" - validations: - required: true - - type: textarea - id: version - attributes: - label: Output of `studio reporter -m loopback` - description: Please run `studio reporter -m loopback` and paste here. - render: shell - - type: textarea - id: extra-context - attributes: - label: Extra information or context - description: Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature-request.yml b/.github/ISSUE_TEMPLATE/feature-request.yml deleted file mode 100644 index ff99197..0000000 --- a/.github/ISSUE_TEMPLATE/feature-request.yml +++ /dev/null @@ -1,30 +0,0 @@ ---- -name: Request a Package -description: Request a package or feature to be included in an image -labels: [package-request] - -body: - - type: markdown - attributes: - value: | - Thank you for taking the time to fill out this request! - - type: textarea - id: describe-bug - attributes: - label: Describe the package - description: Include why you feel this should be on the image - placeholder: Tell us what you need - value: "I'd like to request the package `vim` because ..." - validations: - required: true - - type: dropdown - id: image - attributes: - label: Image - description: Which specific image do you want? - options: - - CudaBox - - MayaBox - - Other distrobox - validations: - required: true diff --git a/.github/issue-management.yml b/.github/issue-management.yml new file mode 100644 index 0000000..4b46bea --- /dev/null +++ b/.github/issue-management.yml @@ -0,0 +1,24 @@ +name: Issue Management +on: + issues: + types: [opened] + pull_request: + types: [opened] +jobs: + run: + runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write + steps: + - name: Auto-assign issue + uses: pozil/auto-assign-issue@v1 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + assignees: tulilirockz + numOfAssignee: 1 + - name: Add to Project Tracking + uses: actions/add-to-project@v0.6.1 + with: + project-url: https://github.com/orgs/atomic-studio-org/projects/3 + github-token: ${{ secrets.ADD_TO_PROJECT_TOKEN }} diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..e914fc1 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,5 @@ + diff --git a/.github/workflows/issue-management.yml b/.github/workflows/issue-management.yml new file mode 100644 index 0000000..4b46bea --- /dev/null +++ b/.github/workflows/issue-management.yml @@ -0,0 +1,24 @@ +name: Issue Management +on: + issues: + types: [opened] + pull_request: + types: [opened] +jobs: + run: + runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write + steps: + - name: Auto-assign issue + uses: pozil/auto-assign-issue@v1 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + assignees: tulilirockz + numOfAssignee: 1 + - name: Add to Project Tracking + uses: actions/add-to-project@v0.6.1 + with: + project-url: https://github.com/orgs/atomic-studio-org/projects/3 + github-token: ${{ secrets.ADD_TO_PROJECT_TOKEN }} diff --git a/.github/workflows/next-gh-pages.yml b/.github/workflows/next-gh-pages.yml new file mode 100644 index 0000000..9515eda --- /dev/null +++ b/.github/workflows/next-gh-pages.yml @@ -0,0 +1,50 @@ +name: Publish to Github Pages +on: + workflow_dispatch: + push: + branches: + - main + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup Bun + uses: oven-sh/setup-bun@v1 + - name: Setup Pages + uses: actions/configure-pages@v4 + with: + static_site_generator: next + + - name: Build static website + run: bun run build + + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: ./out + + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + runs-on: ubuntu-latest + needs: build + + steps: + - name: Publish to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..c55a831 --- /dev/null +++ b/flake.lock @@ -0,0 +1,314 @@ +{ + "nodes": { + "bluebuild": { + "inputs": { + "flake-schemas": "flake-schemas_2", + "nixpkgs": "nixpkgs_2", + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1709944628, + "narHash": "sha256-+I2T9JsWySs1YMdGxbqm/NbpYQ9p6W1VbQS4m8oZcXw=", + "rev": "8753e76eeb360b860cb283037d27b0461ba7a85c", + "revCount": 251, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/blue-build/cli/0.8.2/018e20a5-398d-74d4-bb3a-4e8bbf6b36ed/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/blue-build/cli/0.8.2.tar.gz" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-schemas": { + "locked": { + "lastModified": 1697467827, + "narHash": "sha256-j8SR19V1SRysyJwpOBF4TLuAvAjF5t+gMiboN4gYQDU=", + "rev": "764932025c817d4e500a8d2a4d8c565563923d29", + "revCount": 29, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.1.2/018b3da8-4cc3-7fbb-8ff7-1588413c53e2/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%2A.tar.gz" + } + }, + "flake-schemas_2": { + "locked": { + "lastModified": 1697467827, + "narHash": "sha256-j8SR19V1SRysyJwpOBF4TLuAvAjF5t+gMiboN4gYQDU=", + "rev": "764932025c817d4e500a8d2a4d8c565563923d29", + "revCount": 29, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.1.2/018b3da8-4cc3-7fbb-8ff7-1588413c53e2/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%2A.tar.gz" + } + }, + "flake-schemas_3": { + "locked": { + "lastModified": 1697467827, + "narHash": "sha256-j8SR19V1SRysyJwpOBF4TLuAvAjF5t+gMiboN4gYQDU=", + "rev": "764932025c817d4e500a8d2a4d8c565563923d29", + "revCount": 29, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.1.2/018b3da8-4cc3-7fbb-8ff7-1588413c53e2/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%2A.tar.gz" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "utility-flake", + "nix-pre-commit-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "nix-pre-commit-hooks": { + "inputs": { + "flake-compat": "flake-compat", + "flake-utils": "flake-utils_2", + "gitignore": "gitignore", + "nixpkgs": "nixpkgs_3", + "nixpkgs-stable": "nixpkgs-stable" + }, + "locked": { + "lastModified": 1710923068, + "narHash": "sha256-6hOpUiuxuwpXXc/xfJsBUJeqqgGI+JMJuLo45aG3cKc=", + "type": "tarball", + "url": "https://github.com/cachix/pre-commit-hooks.nix/tarball/master" + }, + "original": { + "type": "tarball", + "url": "https://github.com/cachix/pre-commit-hooks.nix/tarball/master" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1711124224, + "narHash": "sha256-l0zlN/3CiodvWDtfBOVxeTwYSRz93muVbXWSpaMjXxM=", + "rev": "56528ee42526794d413d6f244648aaee4a7b56c0", + "revCount": 556903, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2311.556903%2Brev-56528ee42526794d413d6f244648aaee4a7b56c0/018e6877-0a7d-7009-b74c-9c24415d4c62/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/NixOS/nixpkgs/%2A.tar.gz" + } + }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1710695816, + "narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "614b4613980a522ba49f0d194531beddbb7220d3", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-23.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1708984720, + "narHash": "sha256-gJctErLbXx4QZBBbGp78PxtOOzsDaQ+yw1ylNQBuSUY=", + "rev": "13aff9b34cc32e59d35c62ac9356e4a41198a538", + "revCount": 588909, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.588909%2Brev-13aff9b34cc32e59d35c62ac9356e4a41198a538/018dec1e-579e-771e-9f64-eb8879874075/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/NixOS/nixpkgs/0.1.0.tar.gz" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1710765496, + "narHash": "sha256-p7ryWEeQfMwTB6E0wIUd5V2cFTgq+DRRBz2hYGnJZyA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "e367f7a1fb93137af22a3908f00b9a35e2d286a7", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { + "locked": { + "lastModified": 1710806803, + "narHash": "sha256-qrxvLS888pNJFwJdK+hf1wpRCSQcqA6W5+Ox202NDa0=", + "rev": "b06025f1533a1e07b6db3e75151caa155d1c7eb3", + "revCount": 598982, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.598982%2Brev-b06025f1533a1e07b6db3e75151caa155d1c7eb3/018e577a-86bd-7b2f-b434-442e9ada5378/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/NixOS/nixpkgs/0.1.0.tar.gz" + } + }, + "root": { + "inputs": { + "flake-schemas": "flake-schemas", + "nixpkgs": "nixpkgs", + "utility-flake": "utility-flake" + } + }, + "rust-overlay": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": [ + "utility-flake", + "bluebuild", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709086241, + "narHash": "sha256-3QHK5zu/5XOa+ghBeKzvt+/BLdEPjw/xDNLcpDfbkmg=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "5d56056fb905ff550ee61b6ebb6674d494f57a9e", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "utility-flake": { + "inputs": { + "bluebuild": "bluebuild", + "flake-schemas": "flake-schemas_3", + "nix-pre-commit-hooks": "nix-pre-commit-hooks", + "nixpkgs": "nixpkgs_4" + }, + "locked": { + "lastModified": 1711393060, + "narHash": "sha256-wrRO4nZy+GESMQTipSoCR1BH/OHK0+/Ie9SxN5EEuuk=", + "rev": "775c2367e85d2b636f260817d9371fdc145cab95", + "revCount": 19, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/atomic-studio-org/Utility-Flake-Library/0.1.19%2Brev-775c2367e85d2b636f260817d9371fdc145cab95/018e76fb-178c-7ef5-a6ea-163290cad93b/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/atomic-studio-org/Utility-Flake-Library/%2A.tar.gz" + } + } + }, + "root": "root", + "version": 7 +}