File: appimage_versioned.yml

package info (click to toggle)
cpu-x 5.4.0-0.2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 7,380 kB
  • sloc: ansic: 36,860; cpp: 8,094; asm: 7,291; sh: 693; xml: 190; makefile: 11
file content (124 lines) | stat: -rw-r--r-- 3,796 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
name: AppImage Versioned

on:
  push:
    tags:
      - v*
  workflow_dispatch:
    inputs:
      version:
        description: "The version to release"
        required: true

env:
  BUILD_TYPE: Release

jobs:
  linux-appimage-versioned-build:
    name: Linux ${{ matrix.os.arch }} (Versioned build)
    runs-on: ${{ matrix.os.label }}
    strategy:
      matrix:
        os:
          # x86_64 (https://github.com/actions/runner-images/tree/main/images/ubuntu)
          - { arch: x86_64, label: ubuntu-24.04 }
          # ARM64 (https://github.com/actions/partner-runner-images)
          - { arch: aarch64, label: ubuntu-24.04-arm }

    container: ghcr.io/pkgforge-dev/archlinux:latest

    outputs:
      version: ${{ steps.version.outputs.version }}
      changelog_tag: ${{ steps.version.outputs.changelog_tag }}

    steps:
    - name: Set environment variables
      id: version
      run: |
        echo "REPO_USERNAME=${GITHUB_REPOSITORY//\//|}" >> $GITHUB_ENV
        echo "Repository username is '${REPO_USERNAME}'"
        TAG="${MANUAL_TAG:-$GITHUB_REF_NAME}"
        echo "Using tag '${TAG}'"
        echo "VERSION=${TAG/v/}" >> $GITHUB_ENV
        echo "version=${TAG/v/}" >> $GITHUB_OUTPUT
        echo "changelog_tag=${TAG//./}---$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
      env:
        MANUAL_TAG: ${{ inputs.version }}

    - name: Install prerequisites
      run: pacman -Syu --noconfirm sudo

    - uses: actions/checkout@v5

    - name: Build libcpuid
      run: ./scripts/build_libcpuid.sh -t "$BUILD_TYPE"

    - name: Build CPU-X
      run: ./scripts/build_cpu_x.sh -s "$GITHUB_WORKSPACE" -t "$BUILD_TYPE" -i "$GITHUB_WORKSPACE/AppDir"

    - name: Create AppImage
      run: ./scripts/build_appimage.sh -s "$GITHUB_WORKSPACE" -a "$GITHUB_WORKSPACE/AppDir" -u "$REPO_USERNAME" -v "$VERSION"

    - name: Upload artifacts
      uses: actions/upload-artifact@v4
      with:
        name: linux-${{ matrix.os.arch }}
        path: AppImage/CPU-X-*


  linux-appimage-versioned-release:
    name: Linux (Versioned release)
    needs: linux-appimage-versioned-build
    runs-on: ubuntu-latest

    steps:
    - name: Download all artifacts
      uses: actions/download-artifact@v5
      with:
        path: AppImage/
        merge-multiple: true

    - name: Display structure of downloaded files
      run: ls -lhR AppImage/

    - name: Create versioned release
      uses: ncipollo/release-action@v1
      with:
        allowUpdates: false
        artifacts: "AppImage/CPU-X-*.AppImage*"
        body: |
          **Version ${{ env.VERSION }}.**

          [ChangeLog](https://github.com/TheTumultuousUnicornOfDarkness/CPU-X/blob/master/ChangeLog.md#${{ env.CHANGELOG_TAG }})

          ## Packages

          Search the `cpu-x` package in your repositories or [CPU-X on Flathub](https://flathub.org/fr/apps/io.github.thetumultuousunicornofdarkness.cpu-x).

          ## Binary

          - **AppImage (ARM64)**: CPU-X-${{ env.VERSION }}-aarch64.AppImage
          - **AppImage (x86_64)**: CPU-X-${{ env.VERSION }}-x86_64.AppImage

          These AppImages are able to work everywhere, including musl and non-FHS systems, FUSE is not required at all.

          *Note: a Polkit Authentication agent is mandatory to start daemon from GUI.*

          ## Notes

          ### To packagers
          -

          ### To users
          -
        commit: ${{ github.sha }}
        draft: true
        name: ${{ env.VERSION }}
        prerelease: false
        replacesArtifacts: true
        skipIfReleaseExists: true
        tag: ${{ env.VERSION }}
        token: "${{ secrets.GITHUB_TOKEN }}"
      env:
        VERSION: ${{ needs.linux-appimage-versioned-build.outputs.version }}
        CHANGELOG_TAG: ${{ needs.linux-appimage-versioned-build.outputs.changelog_tag }}