├── README.md └── .github └── workflows ├── iso_build.yml ├── manjaro_stable.yml ├── iso_build_testing.yml └── awesome.yml /README.md: -------------------------------------------------------------------------------- 1 | # iso-build 2 | Manjaro awesome 3 | 4 | Manjaro Linux https://manjaro.org/ with the awesome window manager: https://awesomewm.org/ 5 | and software from XFCE: https://xfce.org/ 6 | -------------------------------------------------------------------------------- /.github/workflows/iso_build.yml: -------------------------------------------------------------------------------- 1 | name: iso_build 2 | on: 3 | schedule: 4 | - cron: '30 2 * * 0' 5 | workflow_dispatch: 6 | repository_dispatch: 7 | types: [iso_profile_update] 8 | 9 | jobs: 10 | prepare-release: 11 | runs-on: ubuntu-20.04 12 | steps: 13 | - uses: styfle/cancel-workflow-action@0.9.1 14 | with: 15 | access_token: ${{ github.token }} 16 | - id: time 17 | uses: nanzm/get-time-action@v1.1 18 | with: 19 | format: 'YYYYMMDDHHmm' 20 | - id: receive 21 | uses: boredland/kernel-info@main 22 | outputs: 23 | release_tag: ${{ steps.time.outputs.time }} 24 | longterm: ${{ steps.receive.outputs.longterm-pkg }} 25 | stable: ${{ steps.receive.outputs.stable-pkg }} 26 | mainline: ${{ steps.receive.outputs.mainline-pkg }} 27 | build-release: 28 | runs-on: ubuntu-20.04 29 | needs: [prepare-release] 30 | 31 | strategy: 32 | fail-fast: false 33 | matrix: 34 | experimental: [false] 35 | edition: [awesome] 36 | branch: [stable, unstable] 37 | scope: [full, minimal] 38 | kernel: 39 | - ${{ needs.prepare-release.outputs.mainline }} 40 | - ${{ needs.prepare-release.outputs.longterm }} 41 | - ${{ needs.prepare-release.outputs.stable }} 42 | include: 43 | - kernel: ${{ needs.prepare-release.outputs.mainline }} 44 | experimental: true 45 | steps: 46 | - uses: styfle/cancel-workflow-action@0.9.1 47 | with: 48 | access_token: ${{ github.token }} 49 | - name: image-build-upload 50 | uses: Manjaro/manjaro-iso-action@v2.8 51 | with: 52 | iso-profiles-repo: https://github.com/bittin/iso-profiles-1 53 | edition: ${{ matrix.edition }} 54 | branch: ${{ matrix.branch }} 55 | scope: ${{ matrix.scope }} 56 | kernel: ${{ matrix.kernel }} 57 | release-tag: ${{ needs.prepare-release.outputs.release_tag }} 58 | additional-trusted-gpg: ${{ secrets.GPG_KEYID }} 59 | - name: rollback 60 | if: ${{ cancelled() }} 61 | run: | 62 | echo ${{ github.token }} | gh auth login --with-token 63 | gh release delete ${{ needs.prepare-release.outputs.release_tag }} -y --repo ${{ github.repository }} 64 | git push --delete origin ${{ needs.prepare-release.outputs.release_tag }} 65 | -------------------------------------------------------------------------------- /.github/workflows/manjaro_stable.yml: -------------------------------------------------------------------------------- 1 | name: iso_build 2 | on: 3 | schedule: 4 | - cron: '30 2 * * 0' 5 | workflow_dispatch: 6 | repository_dispatch: 7 | types: [iso_profile_update] 8 | 9 | jobs: 10 | prepare-release: 11 | runs-on: ubuntu-20.04 12 | steps: 13 | - uses: styfle/cancel-workflow-action@0.9.1 14 | with: 15 | access_token: ${{ github.token }} 16 | - id: time 17 | uses: nanzm/get-time-action@v1.1 18 | with: 19 | format: 'YYYYMMDDHHmm' 20 | - id: receive 21 | uses: boredland/kernel-info@main 22 | outputs: 23 | release_tag: ${{ steps.time.outputs.time }} 24 | longterm: ${{ steps.receive.outputs.longterm-pkg }} 25 | stable: ${{ steps.receive.outputs.stable-pkg }} 26 | mainline: ${{ steps.receive.outputs.mainline-pkg }} 27 | build-release: 28 | runs-on: ubuntu-20.04 29 | needs: [prepare-release] 30 | continue-on-error: ${{ matrix.experimental }} 31 | strategy: 32 | fail-fast: false 33 | matrix: 34 | experimental: [true] 35 | edition: [awesome] 36 | branch: [stable] 37 | scope: [full, minimal] 38 | kernel: 39 | - ${{ needs.prepare-release.outputs.mainline }} 40 | - ${{ needs.prepare-release.outputs.longterm }} 41 | - ${{ needs.prepare-release.outputs.stable }} 42 | include: 43 | - kernel: ${{ needs.prepare-release.outputs.mainline }} 44 | experimental: true 45 | steps: 46 | - uses: styfle/cancel-workflow-action@0.9.1 47 | with: 48 | access_token: ${{ github.token }} 49 | - name: image-build-upload 50 | uses: Manjaro/manjaro-iso-action@v2.8 51 | with: 52 | iso-profiles-repo: https://github.com/bittin/iso-profiles-1 53 | edition: ${{ matrix.edition }} 54 | branch: ${{ matrix.branch }} 55 | scope: ${{ matrix.scope }} 56 | kernel: ${{ matrix.kernel }} 57 | release-tag: ${{ needs.prepare-release.outputs.release_tag }} 58 | additional-trusted-gpg: ${{ secrets.GPG_KEYID }} 59 | - name: rollback 60 | if: ${{ failure() || cancelled() }} 61 | run: | 62 | echo ${{ github.token }} | gh auth login --with-token 63 | gh release delete ${{ needs.prepare-release.outputs.release_tag }} -y --repo ${{ github.repository }} 64 | git push --delete origin ${{ needs.prepare-release.outputs.release_tag }} 65 | -------------------------------------------------------------------------------- /.github/workflows/iso_build_testing.yml: -------------------------------------------------------------------------------- 1 | name: iso_build 2 | on: 3 | schedule: 4 | - cron: '30 2 * * 0' 5 | workflow_dispatch: 6 | repository_dispatch: 7 | types: [iso_profile_update] 8 | 9 | jobs: 10 | prepare-release: 11 | runs-on: ubuntu-20.04 12 | steps: 13 | - uses: styfle/cancel-workflow-action@0.9.1 14 | with: 15 | access_token: ${{ github.token }} 16 | - id: time 17 | uses: nanzm/get-time-action@v1.1 18 | with: 19 | format: 'YYYYMMDDHHmm' 20 | - id: receive 21 | uses: boredland/kernel-info@main 22 | outputs: 23 | release_tag: ${{ steps.time.outputs.time }} 24 | longterm: ${{ steps.receive.outputs.longterm-pkg }} 25 | stable: ${{ steps.receive.outputs.stable-pkg }} 26 | mainline: ${{ steps.receive.outputs.mainline-pkg }} 27 | build-release: 28 | runs-on: ubuntu-20.04 29 | needs: [prepare-release] 30 | continue-on-error: ${{ matrix.experimental }} 31 | strategy: 32 | fail-fast: false 33 | matrix: 34 | experimental: [true] 35 | edition: [awesome] 36 | branch: [unstable, testing] 37 | scope: [full, minimal] 38 | kernel: 39 | - ${{ needs.prepare-release.outputs.mainline }} 40 | - ${{ needs.prepare-release.outputs.longterm }} 41 | - ${{ needs.prepare-release.outputs.stable }} 42 | include: 43 | - kernel: ${{ needs.prepare-release.outputs.mainline }} 44 | experimental: true 45 | steps: 46 | - uses: styfle/cancel-workflow-action@0.9.1 47 | with: 48 | access_token: ${{ github.token }} 49 | - name: image-build-upload 50 | uses: Manjaro/manjaro-iso-action@v2.8 51 | with: 52 | iso-profiles-repo: https://github.com/bittin/iso-profiles-1 53 | edition: ${{ matrix.edition }} 54 | branch: ${{ matrix.branch }} 55 | scope: ${{ matrix.scope }} 56 | kernel: ${{ matrix.kernel }} 57 | release-tag: ${{ needs.prepare-release.outputs.release_tag }} 58 | additional-trusted-gpg: ${{ secrets.GPG_KEYID }} 59 | - name: rollback 60 | if: ${{ failure() || cancelled() }} 61 | run: | 62 | echo ${{ github.token }} | gh auth login --with-token 63 | gh release delete ${{ needs.prepare-release.outputs.release_tag }} -y --repo ${{ github.repository }} 64 | git push --delete origin ${{ needs.prepare-release.outputs.release_tag }} 65 | -------------------------------------------------------------------------------- /.github/workflows/awesome.yml: -------------------------------------------------------------------------------- 1 | name: iso_build 2 | on: 3 | schedule: 4 | - cron: '30 2 * * 0' 5 | workflow_dispatch: 6 | repository_dispatch: 7 | types: [iso_profile_update] 8 | 9 | concurrency: 10 | group: ${{ github.workflow }} 11 | cancel-in-progress: true 12 | 13 | jobs: 14 | prepare-release: 15 | runs-on: ubuntu-20.04 16 | steps: 17 | - uses: styfle/cancel-workflow-action@0.10.0 18 | with: 19 | access_token: ${{ github.token }} 20 | - id: time 21 | uses: nanzm/get-time-action@v1.1 22 | with: 23 | format: 'YYYYMMDDHHmm' 24 | - id: receive 25 | uses: boredland/kernel-info@main 26 | outputs: 27 | release_tag: ${{ steps.time.outputs.time }} 28 | longterm: ${{ steps.receive.outputs.longterm-pkg }} 29 | stable: ${{ steps.receive.outputs.stable-pkg }} 30 | build-release: 31 | runs-on: ubuntu-20.04 32 | needs: [prepare-release] 33 | strategy: 34 | matrix: 35 | edition: [awesome] 36 | branch: [unstable,testing,stable] 37 | scope: [full, minimal] 38 | kernel: 39 | - ${{ needs.prepare-release.outputs.longterm }} 40 | include: 41 | - edition: awesome 42 | branch: unstable 43 | scope: full 44 | kernel: ${{ needs.prepare-release.outputs.stable }} 45 | experimental: true 46 | steps: 47 | - uses: styfle/cancel-workflow-action@0.10.0 48 | with: 49 | access_token: ${{ github.token }} 50 | - name: import awesome key 51 | run: | 52 | gpg --keyserver keys.openpgp.org --receive-keys ${{ secrets.GPG_KEYID }} 53 | - name: image-build-upload 54 | uses: Manjaro/manjaro-iso-action@v2.9 55 | with: 56 | iso-profiles-repo: https://github.com/bittin/iso-profiles-1 57 | edition: ${{ matrix.edition }} 58 | branch: ${{ matrix.branch }} 59 | scope: ${{ matrix.scope }} 60 | kernel: ${{ matrix.kernel }} 61 | release-tag: ${{ needs.prepare-release.outputs.release_tag }} 62 | additional-trusted-gpg: ${{ secrets.GPG_KEYID }} 63 | rollback: 64 | runs-on: ubuntu-20.04 65 | needs: [build-release] 66 | if: ${{ failure() || cancelled() }} 67 | steps: 68 | - name: rollback 69 | run: | 70 | echo ${{ github.token }} | gh auth login --with-token 71 | ASSET_COUNT=$(gh release view ${{ needs.prepare-release.outputs.release_tag }} --json "assets" --jq '.assets | length') 72 | if [ "$ASSET_COUNT" -gt "2" ]; then exit 0;fi 73 | gh release delete ${{ needs.prepare-release.outputs.release_tag }} -y --repo ${{ github.repository }} 74 | git push --delete origin ${{ needs.prepare-release.outputs.release_tag }} 75 | --------------------------------------------------------------------------------