summaryrefslogtreecommitdiffstats
path: root/.github/workflows
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/build.yml60
-rw-r--r--.github/workflows/ccpp.yml25
-rw-r--r--.github/workflows/codeql.yml79
-rw-r--r--.github/workflows/linter.yml54
4 files changed, 206 insertions, 12 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 00000000..56475a01
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,60 @@
+name: Build and Release
+
+on:
+ pull_request:
+ branches:
+ - main
+ push:
+ tags:
+ - 'v*'
+
+jobs:
+ build-windows:
+ runs-on: windows-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: ilammy/msvc-dev-cmd@v1
+ - name: Setup Qt environment
+ uses: jurplel/install-qt-action@v3
+ with:
+ version: '5.15.2'
+ - name: Build QtPass
+ run: |
+ qmake qtpass.pro CONFIG+=static
+ nmake
+ copy README.md src\release\README.txt
+ copy LICENSE src\release\LICENSE.txt
+ - name: Install Inno Setup
+ run: choco install innosetup
+ - name: Create Installer with Inno Setup
+ run: ISCC.exe qtpass-gh.iss
+ - name: Upload Artifact
+ uses: actions/upload-artifact@v3
+ with:
+ name: QtPass-Windows
+ path: release
+
+ build-mac:
+ runs-on: macos-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Setup Qt environment
+ uses: jurplel/install-qt-action@v3
+ with:
+ version: '5.15.2'
+ - name: Install create-dmg
+ run: |
+ brew install create-dmg
+ - name: Build QtPass
+ run: |
+ qmake
+ make
+ macdeployqt main/QtPass.app
+ - name: Create DMG
+ run: create-dmg main/QtPass.dmg main/QtPass.app
+ - name: Upload Artifact
+ uses: actions/upload-artifact@v3
+ with:
+ name: QtPass-macOS
+ path: main/QtPass.dmg
+
diff --git a/.github/workflows/ccpp.yml b/.github/workflows/ccpp.yml
index 04b3007b..fdbc8e2f 100644
--- a/.github/workflows/ccpp.yml
+++ b/.github/workflows/ccpp.yml
@@ -1,3 +1,4 @@
+---
name: QMake
on: [push, pull_request]
jobs:
@@ -6,8 +7,8 @@ jobs:
strategy:
fail-fast: false
matrix:
- os: [ubuntu-latest, macos-latest, windows-latest]
- include:
+ os: [ubuntu-latest, macos-latest, windows-latest]
+ include:
- os: ubuntu-latest
make: make
- os: macos-latest
@@ -15,13 +16,13 @@ jobs:
- os: windows-latest
make: nmake
steps:
- - uses: actions/checkout@v1
- - uses: ilammy/msvc-dev-cmd@v1
- - name: Install Qt
- uses: jurplel/install-qt-action@v2
- - name: qmake
- run: qmake
- - name: make
- run: ${{matrix.make}}
- - name: make check
- run: ${{matrix.make}} check TESTARGS="--platform offscreen"
+ - uses: actions/checkout@v1
+ - uses: ilammy/msvc-dev-cmd@v1
+ - name: Install Qt
+ uses: jurplel/install-qt-action@v3
+ - name: qmake
+ run: qmake
+ - name: make
+ run: ${{matrix.make}}
+ - name: make check
+ run: ${{matrix.make}} check TESTARGS="--platform offscreen"
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
new file mode 100644
index 00000000..0f01a296
--- /dev/null
+++ b/.github/workflows/codeql.yml
@@ -0,0 +1,79 @@
+---
+# For most projects, this workflow file will not need changing; you simply need
+# to commit it to your repository.
+#
+# You may wish to alter this file to override the set of languages analyzed,
+# or to provide custom queries or build logic.
+#
+# ******** NOTE ********
+# We have attempted to detect the languages in your repository. Please check
+# the `language` matrix defined below to confirm you have the correct set of
+# supported CodeQL languages.
+#
+name: "CodeQL"
+
+on:
+ push:
+ branches: ["main"]
+ pull_request:
+ # The branches below must be a subset of the branches above
+ branches: ["main"]
+ schedule:
+ - cron: '24 8 * * 2'
+
+jobs:
+ analyze:
+ name: Analyze
+ runs-on: ubuntu-latest
+ permissions:
+ actions: read
+ contents: read
+ security-events: write
+
+ strategy:
+ fail-fast: false
+ matrix:
+ language: ['cpp']
+ # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
+ # Use only 'java' to analyze code written in Java, Kotlin or both
+ # Use only 'javascript' to analyze code written in JavaScript, TypeScript or both
+ # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v3
+
+ # Initializes the CodeQL tools for scanning.
+ - name: Initialize CodeQL
+ uses: github/codeql-action/init@v2
+ with:
+ languages: ${{ matrix.language }}
+ # If you wish to specify custom queries, you can do so here or in a config file.
+ # By default, queries listed here will override any specified in a config file.
+ # Prefix the list here with "+" to use these queries and those in the config file.
+
+ # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
+ # queries: security-extended,security-and-quality
+
+ - name: Install Qt
+ uses: jurplel/install-qt-action@v3
+
+ # Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
+ # If this step fails, then you should remove it and run the build manually (see below)
+ - name: Autobuild
+ uses: github/codeql-action/autobuild@v2
+
+ # Command-line programs to run using the OS shell.
+ # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
+
+ # If the Autobuild fails above, remove it and uncomment the following three lines.
+ # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
+
+ # - run: |
+ # echo "Run, Build Application using script"
+ # ./location_of_script_within_repo/buildscript.sh
+
+ - name: Perform CodeQL Analysis
+ uses: github/codeql-action/analyze@v2
+ with:
+ category: "/language:${{matrix.language}}"
diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml
new file mode 100644
index 00000000..7e0bc2e2
--- /dev/null
+++ b/.github/workflows/linter.yml
@@ -0,0 +1,54 @@
+---
+#################################
+#################################
+## Super Linter GitHub Actions ##
+#################################
+#################################
+name: Lint Code Base
+
+#
+# Documentation:
+# https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions
+#
+
+#############################
+# Start the job on all push #
+#############################
+on:
+ pull_request:
+ branches: main
+
+###############
+# Set the Job #
+###############
+jobs:
+ build:
+ # Name the Job
+ name: Lint Code Base
+ # Set the agent to run on
+ runs-on: ubuntu-latest
+
+ ##################
+ # Load all steps #
+ ##################
+ steps:
+ ##########################
+ # Checkout the code base #
+ ##########################
+ - name: Checkout Code
+ uses: actions/checkout@v3
+ with:
+ # Full git history is needed to get a proper
+ # list of changed files within `super-linter`
+ fetch-depth: 0
+
+ - run: cat .github/super-linter.env >> "$GITHUB_ENV"
+ ################################
+ # Run Linter against code base #
+ ################################
+ - name: Lint Code Base
+ uses: github/super-linter@v4
+ env:
+ # Change to 'master' if your main branch differs
+ DEFAULT_BRANCH: main
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}