8 changed files with 179 additions and 29 deletions
@ -1,47 +1,61 @@ |
|||||
name: ci |
name: Docker Publish |
||||
|
|
||||
on: |
on: |
||||
push: |
push: |
||||
branches: |
branches: ["main","master"] |
||||
- 'main' |
|
||||
schedule: |
schedule: |
||||
- cron: '0 0 * * *' |
- cron: "0 0 * * *" |
||||
|
|
||||
jobs: |
jobs: |
||||
docker: |
docker: |
||||
runs-on: ubuntu-latest |
runs-on: ubuntu-latest |
||||
steps: |
steps: |
||||
- |
- name: Checkout |
||||
name: Checkout |
|
||||
uses: actions/checkout@v3 |
uses: actions/checkout@v3 |
||||
- |
- name: Set up QEMU |
||||
name: Set up QEMU |
|
||||
uses: docker/setup-qemu-action@v2 |
uses: docker/setup-qemu-action@v2 |
||||
- |
- name: Set up Docker Buildx |
||||
name: Set up Docker Buildx |
|
||||
uses: docker/[email protected] |
uses: docker/[email protected] |
||||
- |
- name: Login to DockerHub |
||||
name: Login to DockerHub |
|
||||
uses: docker/[email protected] |
uses: docker/[email protected] |
||||
with: |
with: |
||||
username: ${{ secrets.DOCKER_HUB_USERNAME }} |
username: ${{ secrets.DOCKER_HUB_USERNAME }} |
||||
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} |
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} |
||||
- |
- name: Login to GitHub Container Registry |
||||
name: Login to GitHub Container Registry |
|
||||
uses: docker/[email protected] |
uses: docker/[email protected] |
||||
with: |
with: |
||||
registry: ghcr.io |
registry: ghcr.io |
||||
username: ${{ github.actor }} |
username: ${{ github.actor }} |
||||
password: ${{ secrets.GITHUB_TOKEN }} |
password: ${{ secrets.GITHUB_TOKEN }} |
||||
- |
- name: Build and push (Ubuntu 22.04) |
||||
name: Build and push |
|
||||
uses: docker/[email protected] |
uses: docker/[email protected] |
||||
with: |
with: |
||||
context: . |
context: . |
||||
|
file: ./Dockerfile.ubuntu-2204 |
||||
platforms: linux/amd64 |
platforms: linux/amd64 |
||||
push: true |
push: true |
||||
tags: | |
tags: | |
||||
gameservermanagers/linuxgsm:latest |
gameservermanagers/steamcmd:latest |
||||
gameservermanagers/linuxgsm:ubuntu-22.04 |
gameservermanagers/steamcmd:ubuntu-22.04 |
||||
ghcr.io/gameservermanagers/linuxgsm:latest |
ghcr.io/gameservermanagers/steamcmd:latest |
||||
ghcr.io/gameservermanagers/linuxgsm:ubuntu-22.04 |
ghcr.io/gameservermanagers/steamcmd:ubuntu-22.04 |
||||
|
- name: Build and push (Ubuntu 20.04) |
||||
|
uses: docker/[email protected] |
||||
|
with: |
||||
|
context: . |
||||
|
file: ./Dockerfile.ubuntu-2004 |
||||
|
platforms: linux/amd64 |
||||
|
push: true |
||||
|
tags: | |
||||
|
gameservermanagers/steamcmd:ubuntu-20.04 |
||||
|
ghcr.io/gameservermanagers/steamcmd:ubuntu-20.04 |
||||
|
- name: Build and push (Ubuntu 18.04) |
||||
|
uses: docker/[email protected] |
||||
|
with: |
||||
|
context: . |
||||
|
file: ./Dockerfile.ubuntu-1804 |
||||
|
platforms: linux/amd64 |
||||
|
push: true |
||||
|
tags: | |
||||
|
gameservermanagers/steamcmd:ubuntu-18.04 |
||||
|
ghcr.io/gameservermanagers/steamcmd:ubuntu-18.04 |
||||
|
@ -0,0 +1,55 @@ |
|||||
|
# This workflow uses actions that are not certified by GitHub. |
||||
|
# They are provided by a third-party and are governed by |
||||
|
# separate terms of service, privacy policy, and support |
||||
|
# documentation. |
||||
|
|
||||
|
# A sample workflow which checks out the code, builds a container |
||||
|
# image using Docker and scans that image for vulnerabilities using |
||||
|
# Snyk. The results are then uploaded to GitHub Security Code Scanning |
||||
|
# |
||||
|
# For more examples, including how to limit scans to only high-severity |
||||
|
# issues, monitor images for newly disclosed vulnerabilities in Snyk and |
||||
|
# fail PR checks for new vulnerabilities, see https://github.com/snyk/actions/ |
||||
|
|
||||
|
name: Snyk Container |
||||
|
|
||||
|
on: |
||||
|
push: |
||||
|
branches: ["main","master"] |
||||
|
pull_request: |
||||
|
# The branches below must be a subset of the branches above |
||||
|
branches: ["main","master"] |
||||
|
schedule: |
||||
|
- cron: "45 1 * * 4" |
||||
|
|
||||
|
permissions: |
||||
|
contents: read |
||||
|
|
||||
|
jobs: |
||||
|
snyk: |
||||
|
permissions: |
||||
|
contents: read # for actions/checkout to fetch code |
||||
|
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results |
||||
|
actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status |
||||
|
runs-on: ubuntu-latest |
||||
|
steps: |
||||
|
- uses: actions/checkout@v3 |
||||
|
- name: Build a Docker image |
||||
|
run: docker build -t gameservermanagers/steamcmd -f Dockerfile.ubuntu-2204 . |
||||
|
- name: Run Snyk to check Docker image for vulnerabilities |
||||
|
# Snyk can be used to break the build when it detects vulnerabilities. |
||||
|
# In this case we want to upload the issues to GitHub Code Scanning |
||||
|
continue-on-error: true |
||||
|
uses: snyk/actions/docker@master |
||||
|
env: |
||||
|
# In order to use the Snyk Action you will need to have a Snyk API token. |
||||
|
# More details in https://github.com/snyk/actions#getting-your-snyk-token |
||||
|
# or you can signup for free at https://snyk.io/login |
||||
|
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} |
||||
|
with: |
||||
|
image: gameservermanagers/steamcmd |
||||
|
args: --file=Dockerfile.ubuntu-2204 |
||||
|
- name: Upload result to GitHub Code Scanning |
||||
|
uses: github/codeql-action/upload-sarif@v2 |
||||
|
with: |
||||
|
sarif_file: snyk.sarif |
@ -0,0 +1,29 @@ |
|||||
|
# This workflow executes several linters on changed files based on languages used in your code base whenever |
||||
|
# you push a code or open a pull request. |
||||
|
# |
||||
|
# You can adjust the behavior by modifying this file. |
||||
|
# For more information, see: |
||||
|
# https://github.com/github/super-linter |
||||
|
name: Lint Code Base |
||||
|
|
||||
|
on: |
||||
|
push: |
||||
|
branches: ["main","master"] |
||||
|
pull_request: |
||||
|
branches: ["main","master"] |
||||
|
jobs: |
||||
|
run-lint: |
||||
|
runs-on: ubuntu-latest |
||||
|
steps: |
||||
|
- 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 |
||||
|
|
||||
|
- name: Lint Code Base |
||||
|
uses: github/super-linter@v4 |
||||
|
env: |
||||
|
VALIDATE_ALL_CODEBASE: false |
||||
|
DEFAULT_BRANCH: "main" |
||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
@ -0,0 +1,11 @@ |
|||||
|
--- |
||||
|
extends: default |
||||
|
|
||||
|
rules: |
||||
|
line-length: disable |
||||
|
comments: disable |
||||
|
|
||||
|
ignore: | |
||||
|
.tox/ |
||||
|
.cache/ |
||||
|
.github/workflows |
@ -0,0 +1,21 @@ |
|||||
|
MIT License |
||||
|
|
||||
|
Copyright (c) 2017-2022 Daniel Gibbs |
||||
|
|
||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy |
||||
|
of this software and associated documentation files (the "Software"), to deal |
||||
|
in the Software without restriction, including without limitation the rights |
||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
||||
|
copies of the Software, and to permit persons to whom the Software is |
||||
|
furnished to do so, subject to the following conditions: |
||||
|
|
||||
|
The above copyright notice and this permission notice shall be included in all |
||||
|
copies or substantial portions of the Software. |
||||
|
|
||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
||||
|
SOFTWARE. |
Loading…
Reference in new issue