Skip to content

Commit

Permalink
Merge branch 'master' into release
Browse files Browse the repository at this point in the history
  • Loading branch information
Timi007 committed Sep 16, 2024
2 parents fe936b4 + 363851b commit 556f114
Show file tree
Hide file tree
Showing 26 changed files with 475 additions and 1,899 deletions.
2 changes: 2 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,5 @@ trim_trailing_whitespace = true
[*.md]
trim_trailing_whitespace = false

[*.yml]
indent_size = 2
39 changes: 39 additions & 0 deletions .github/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Based on the drafter of ACRE (https://github.com/IDI-Systems/acre2/blob/master/.github/release-drafter.yml)

commitish: 'release'

name-template: 'Version $NEXT_PATCH_VERSION'
tag-template: 'v$NEXT_PATCH_VERSION'

categories:
- title: '**ADDED:**'
labels:
- 'enhancement'
- title: '**FIXED:**'
labels:
- 'bug fix'
- title: '**IMPROVED:**'
labels:
- 'optimization'
- title: '**CHANGED:**'
labels:
- 'cleanup'
- title: '**TRANSLATIONS:**'
labels:
- 'localization'

exclude-labels:
- 'ignore changelog'
- 'invalid'
- 'tools'

change-template: '- $TITLE (#$NUMBER) **$AUTHOR**'
template: |
## Change Log Summary
$CHANGES
replacers:
# Category titles
- search: '/\#\# (\*\*(ADDED|FIXED|IMPROVED|CHANGED|TRANSLATIONS):\*\*)/g'
replace: '$1'
23 changes: 23 additions & 0 deletions .github/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
changelog:
exclude:
labels:
- 'ignore changelog'
- 'invalid'
- 'tools'

categories:
- title: '**ADDED:**'
labels:
- 'enhancement'
- title: '**FIXED:**'
labels:
- 'bug fix'
- title: '**IMPROVED:**'
labels:
- 'optimization'
- title: '**CHANGED:**'
labels:
- 'cleanup'
- title: '**TRANSLATIONS:**'
labels:
- 'localization'
14 changes: 13 additions & 1 deletion .github/workflows/arma.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,20 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the source code
uses: actions/checkout@master
uses: actions/checkout@v4
- name: Validate SQF
run: python3 tools/sqf_validator.py
- name: Validate Config
run: python3 tools/config_style_checker.py
- name: Check for BOM
uses: arma-actions/bom-check@v1

build:
runs-on: ubuntu-latest
steps:
- name: Checkout the source code
uses: actions/checkout@v4
- name: Setup HEMTT
uses: arma-actions/hemtt@main
- name: Run HEMTT build
run: hemtt build --no-bin
105 changes: 105 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
# Based on the workflow of ACRE (https://github.com/IDI-Systems/acre2/blob/master/.github/workflows/release.yml)

name: Release

on:
push:
branches:
- release

jobs:
build:
if: github.repository == 'Metis-Team/mts_nature' && ! contains(github.event.head_commit.message, '[ci skip]')
runs-on: windows-latest
outputs:
MOD_NAME: ${{ env.MOD_NAME }}
VERSION: ${{ env.VERSION }}
VERSION_SHORT: ${{ env.VERSION_SHORT }}
SHA_SHORT: ${{ env.SHA_SHORT }}
steps:
- name: Checkout the source code
uses: actions/checkout@v4

- name: Setup HEMTT
uses: arma-actions/hemtt@main

- name: Setup Tools
run: |
C:\msys64\usr\bin\wget.exe ${{ secrets.FTP_SERVER }}/arma_tools.zip --user ${{ secrets.FTP_USERNAME }} --password ${{ secrets.FTP_PASSWORD }} -q
Expand-Archive arma_tools.zip -DestinationPath ci
echo "Check Binarize: $(Test-Path .\\ci\\binarize\\binarize_x64.exe)"
hemtt --version
echo "Install Binarize dependencies"
cp .\ci\binarize\X3DAudio1_7.dll,.\ci\binarize\XAPOFX1_5.dll C:\Windows\System32\
echo "::group::Set Binarize registry path"
New-Item "HKCU:\\Software\\Bohemia Interactive\\binarize" -Force | New-ItemProperty -Name path -Value "${{ github.workspace }}\ci\binarize"
echo "::endgroup::"
echo "Set env variables"
echo "MOD_NAME=Metis_Nature" >> $env:GITHUB_ENV
$version = Select-String -Path "addons\\nature\\script_version.hpp" -Pattern '#define (MAJOR|MINOR|PATCHLVL|BUILD) (\d+)' | ForEach-Object { $_.Matches.Groups[2].Value } | Join-String -Separator "."
$version_short = (Select-String -InputObject $version -Pattern '^\d+\.\d+\.\d+').Matches.Value
echo "VERSION=$version" >> $env:GITHUB_ENV
echo "VERSION_SHORT=$version_short" >> $env:GITHUB_ENV
echo "SHA_SHORT=$(git rev-parse --short HEAD)" >> $env:GITHUB_ENV
- name: Test Binarize
run: |
echo "::group::Run Binarize without arguments (look for missing DLLs)"
./ci/binarize/binarize_x64.exe || true # binarize exits with 1 if no file given
echo "::endgroup::"
shell: bash # outputs missing dll information

- name: Build (HEMTT)
run: |
echo "${{ env.MOD_NAME }} v${{ env.VERSION }} (${{ env.SHA_SHORT }})"
hemtt release --no-archive
env:
BIOUTPUT: 1 # output binarize log

- name: Rename build folder
run: mv .hemttout/release .hemttout/@${{ env.MOD_NAME }}

- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: ${{ env.MOD_NAME }}
path: .hemttout/@*
retention-days: 1
include-hidden-files: true # Because .hemttout is a hidden directory
if-no-files-found: error


publish-release:
needs: build
if: github.ref == 'refs/heads/release'
runs-on: ubuntu-latest
steps:
- name: Download Artifacts
uses: actions/download-artifact@v4

- name: Prepare Archives
run: |
mv ${{ needs.build.outputs.MOD_NAME }}/* .
echo "::group::Archive build"
zip -r ${{ needs.build.outputs.MOD_NAME }}_${{ needs.build.outputs.VERSION_SHORT }}.zip @${{ needs.build.outputs.MOD_NAME }}
echo "::endgroup::"
- name: Prepare GitHub Release
id: release_drafter
uses: release-drafter/release-drafter@v6
with:
name: Version ${{ needs.build.outputs.VERSION_SHORT }}
tag: v${{ needs.build.outputs.VERSION }}
version: ${{ needs.build.outputs.VERSION }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Upload mod archive to GitHub Release
uses: shogo82148/actions-upload-release-asset@v1.7.7
with:
upload_url: ${{ steps.release_drafter.outputs.upload_url }}
asset_path: ./${{ needs.build.outputs.MOD_NAME }}_${{ needs.build.outputs.VERSION_SHORT }}.zip
asset_name: ${{ needs.build.outputs.MOD_NAME }}_${{ needs.build.outputs.VERSION_SHORT }}.zip
asset_content_type: application/zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
12 changes: 7 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
release/*
*.cache
*.pbo
texHeaders.bin
*.swp
*.swo
*.biprivatekey
Thumbs.db
*.sqfc
*.exe

## Added by HEMTT
#### HEMTT
hemtt
hemtt.exe
releases/*
keys/*
.hemtt/local
release/
releases/
keys/
.hemttout/
####
14 changes: 14 additions & 0 deletions .hemtt/hooks/post_release/01_rename_zip.rhai
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
let releases = HEMTT_RFS.join("releases");

let src = releases.join(HEMTT.project().prefix() + "-" + HEMTT.project().version().to_string() + ".zip");

if (src.exists()) {
let dst = releases.join(HEMTT.project().name() + "_" + HEMTT.project().version().to_string_short() + ".zip");

print("Moving archive to " + dst);
if (!src.move(dst)) {
fatal("Failed to rename " + src + " to " + dst);
}
} else {
warn("Cannot rename archive. File " + src + " does not exist!");
}
31 changes: 31 additions & 0 deletions .hemtt/project.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name = "Metis_Nature"
mainprefix = "z"
prefix = "mts"
author = "Timi007"

[files]
include = [
"mod.cpp",
"README.md",
"LICENSE",
"mts_picture.paa",
"mts_nature_logo_small.paa",
"mts_nature_logo_over_small.paa",
"meta.cpp"
]

[signing]
authority = "mts_nature"

[version]
path = "addons/nature/script_version.hpp"
git_hash = 0

[hemtt.config]
preset = "Hemtt"

[hemtt.release]
folder = "Metis_Nature"

[hemtt.launch.default]
workshop = []
30 changes: 0 additions & 30 deletions .hemtt/template/scripts/get_version.lua

This file was deleted.

7 changes: 7 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"recommendations": [
"blackfisch.sqf-language",
"editorconfig.editorconfig",
"bux578.vscode-openlastrpt"
]
}
34 changes: 34 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"files.exclude": {
"**/.git": true,
"**/.svn": true,
"**/.hg": true,
"**/CVS": true,
"**/.DS_Store": true,
"**/Thumbs.db": true,
"**/*.pbo": true,
"**/*.exe": true,
"**/keys": true,
"**/release": true,
},
"files.associations": {
"**/*.hpp": "ext",
// "**/*.hpp": "cpp",
"**/*.cpp": "ext",
"**/XEH_PREP.hpp": "sqf",
"*.rpt": "log",
"init*.hpp": "sqf",
},
"search.exclude": {
".hemttout/dev": true,
".hemttout/build": true,
".hemttout/release": true,
},
"explorer.autoRevealExclude": {
".hemttout/dev": true,
".hemttout/build": true,
".hemttout/release": true,
},
"sqf.enableACE3": false,
"sqf.enableCBA": false,
}
27 changes: 27 additions & 0 deletions .vscode/sqf.code-snippets
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"SQF Function header": {
"description": "SQF Function header",
"prefix": "header",
"body": [
"#include \"script_component.hpp\"",
"/**",
" * Author: ${1:Author}",
" *",
" * Description:",
" * ${2:Description}",
" *",
" * Parameter(s):",
" * ${3:0: TYPE - Parameter description}",
" *",
" * Returns:",
" * ${4:TYPE - Description}",
" *",
" * Example:",
" * _this call mts_${TM_DIRECTORY/(.*)addons\\\\(.*)\\\\functions(.*)/$2/}_${TM_FILENAME_BASE}",
" *",
" */",
"",
"params [];"
],
}
}
26 changes: 26 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "Build Debug",
"detail": "Build Arma addon with HEMTT in debug mode.",
"type": "process",
"command": "hemtt",
"args": ["dev"],
"group": "build",
"presentation": {
"close": true,
"reveal": "always",
"showReuseMessage": false
}
},
{
"label": "Build Release",
"detail": "Build Arma addon with HEMTT for release.",
"type": "process",
"command": "hemtt",
"args": ["release"],
"group": "build"
}
]
}
Loading

0 comments on commit 556f114

Please sign in to comment.