Welcome to mirror list, hosted at ThFree Co, Russian Federation.

artifacts.yml « workflows « .github - github.com/jp7677/dxvk-nvapi.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: ec735c67aa1922d45c775d3ddc3863f93c298d25 (plain)
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
name: Artifacts (Package)

on:
  push:
    branches: [ master ]
    tags: [ v* ]
  pull_request:
    branches: [ master ]
  workflow_dispatch:

jobs:
  build-artifacts:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout code
      uses: actions/checkout@v3
      with:
        submodules: recursive
        fetch-depth: 0

    - name: Prepare environment (none-tag)
      if: github.ref_type != 'tag'
      run: |
        export VERSION="${GITHUB_REF##*/}-${GITHUB_SHA##*/}"
        echo "VERSION=${VERSION}" >> $GITHUB_ENV
        echo "ARTIFACT=build/dxvk-nvapi-${VERSION}" >> $GITHUB_ENV

    - name: Prepare environment (tag)
      if: github.ref_type == 'tag'
      run: |
        export VERSION=$(git describe --always --tags --dirty=+)
        echo "VERSION=${VERSION}" >> $GITHUB_ENV
        echo "ARTIFACT=dxvk-nvapi-${VERSION}.tar.gz" >> $GITHUB_ENV

    - name: Setup problem matcher
      uses: Joshua-Ashton/gcc-problem-matcher@v1

    - name: Lint source code
      uses: Joshua-Ashton/arch-mingw-github-action@v8
      with:
        command: |
          meson --cross-file "./build-win64.txt" -Denable_tests=True build/lint
          ninja clang-format-check -C build/lint

    - name: Build and run tests
      uses: Joshua-Ashton/arch-mingw-github-action@v8
      with:
        command: |
          ./package-release.sh "${{ env.VERSION }}" build --enable-tests
          mkdir "${HOME}/tests-prefix"
          WINEPREFIX="${HOME}/tests-prefix" WINEDEBUG=-all wine \
            "./build/dxvk-nvapi-${{ env.VERSION }}/x64/nvapi64-tests.exe" [@unit-tests] -o tests.log

    - name: Present tests results
      if: success() || failure()
      run: cat tests.log

    - name: Create tarball
      if: github.ref_type == 'tag'
      run: tar cvfz "dxvk-nvapi-${{ env.VERSION }}.tar.gz" -C "./build/dxvk-nvapi-${{ env.VERSION }}" .

    - name: Upload artifacts
      uses: actions/upload-artifact@v3
      with:
        name: dxvk-nvapi-${{ env.VERSION }}
        path: ${{ env.ARTIFACT }}
        if-no-files-found: error