File: release_cmake.yml

package info (click to toggle)
ydotool 1.0.4-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 244 kB
  • sloc: ansic: 908; sh: 43; makefile: 10
file content (71 lines) | stat: -rw-r--r-- 2,772 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
name: Release

on:
  push:
    tags:
      - 'v*.*.*'

env:
  # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
  BUILD_TYPE: Release

jobs:
  build-release:
    # The CMake configure and build commands are platform agnostic and should work equally
    # well on Windows or Mac.  You can convert this to a matrix build if you need
    # cross-platform coverage.
    # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
    runs-on: ${{matrix.os}}
    strategy:
      matrix:
        os: [ubuntu-latest]

    steps:
      - uses: actions/checkout@v2

      - name: Create Build Environment
        # Some projects don't allow in-source building, so create a separate build directory
        # We'll use this as our working directory for all subsequent commands
        run: cmake -E make_directory ${{github.workspace}}/build

      - name: Configure CMake
        # Use a bash shell so we can use the same syntax for environment variable
        # access regardless of the host operating system
        shell: bash
        working-directory: ${{github.workspace}}/build
        # Note the current convention is to use the -S and -B options here to specify source
        # and build directories, but this is only available with CMake 3.13 and higher.
        # The CMake binaries on the Github Actions machines are (as of this writing) 3.12
        run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE

      - name: Build
        working-directory: ${{github.workspace}}/build
        shell: bash
        # Execute the build.  You can specify a specific target with "--target <NAME>"
        run: |
          cmake --build . --config $BUILD_TYPE --target ydotool
          cmake --build . --config $BUILD_TYPE --target ydotoold

      - name: Rename build files
        run: |
          mv ${{github.workspace}}/build/ydotool ${{github.workspace}}/build/ydotool-release-${{matrix.os}}
          mv ${{github.workspace}}/build/ydotoold ${{github.workspace}}/build/ydotoold-release-${{matrix.os}}

      - name: Archive production artifacts
        uses: actions/upload-artifact@v2
        with:
          name: ${{matrix.os}} build artifact
          path: |
            ${{github.workspace}}/build/ydotool-release-${{matrix.os}}
            ${{github.workspace}}/build/ydotoold-release-${{matrix.os}}

      - name: Release
        uses: softprops/action-gh-release@v1
        if: startsWith(github.ref, 'refs/tags/')
        with:
          files: |
            ${{github.workspace}}/build/ydotool-release-${{matrix.os}}
            ${{github.workspace}}/build/ydotoold-release-${{matrix.os}}
        env:
          GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}