Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ body:
attributes:
label: What operating system(s) this bug have occurred on?
description: Put in the release name of the OS (additionally with an extra version number and/or an architecture name) this problem have occurred on.
placeholder: "Ex. Windows 10 21H2, Ubuntu 21.04 etc."
placeholder: "Ex. Windows 10 21H2 64-bit, Ubuntu 21.04 etc."
validations:
required: true
# This is confusing
Expand All @@ -63,15 +63,15 @@ body:
id: config
attributes:
label: Used configuration
description: Share the configuration (usually from the `dosbox-x.conf` or `dosbox.conf` file) that caused the bug to occur. Leave this area empty if you're using the default configuration. If you want to link to a upload of the file, please put the link into the "Additional information" box instead.
description: Share your options (e.g.`dosbox-x.conf`) that caused the bug to occur. Using command `config -wc filename.conf -mod -norem` will save a file with only the options you modified. You may upload and put the link of your config in the "Additional information" box instead.
render: ini # Syntax highlighting
validations:
required: false
- type: textarea
id: log
attributes:
label: Output log
description: The relevant log DOSBox-X outputted when the problem occurred. If you want to link to a upload of the file, please put the link into the "Additional information" box instead.
description: The log may include hints to solve your problem. Enable logging in the dosbox-x.conf file or launch DOSBox-X by `dosbox-x -console` to get one. You may upload and put the link of your log in the "Additional information" box instead.
render: text # Syntax highlighting
validations:
required: false
Expand Down
2 changes: 1 addition & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Add a summary of the change(s) brought by this PR here.

## What issue(s) does this PR address?

If there are any related issues, reference them here. Ex. #1234, Fixes #1234, Closes #1234, etc.
If there are any related issues, reference them here. Ex. #1234, Fixes #1234, Closes #1234, etc.
<!-- (For more information on using keywords like in above, read this document: https://docs.github.com/en/github/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests) -->

## Does this PR introduce new feature(s)?
Expand Down
61 changes: 49 additions & 12 deletions .github/workflows/hxdos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ jobs:
shell: pwsh
steps:
- name: Cancel previous runs
uses: styfle/cancel-workflow-action@0.12.1
uses: styfle/cancel-workflow-action@0.13.1
with:
access_token: ${{ github.token }}
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Prepare HX-DOS
shell: bash
run: |
Expand All @@ -46,6 +46,10 @@ jobs:
echo "#define GIT_COMMIT_HASH \"${shortsha}\"" >> include/build_timestamp.h
echo "#define COPYRIGHT_END_YEAR \"${copyrightyear}\"" >> include/build_timestamp.h
cat include/build_timestamp.h
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
VERSION=$(echo "${GITHUB_REF##*/}" | sed -E 's/^dosbox-x-v([0-9]+\.[0-9]+\.[0-9]+)$/\1/' || echo "unknown")
echo "VERSION=$VERSION" >> $GITHUB_ENV
fi
- name: Build HX-DOS
shell: pwsh
run: |
Expand Down Expand Up @@ -79,37 +83,70 @@ jobs:
mkdir -p $top/package/language
cp $top/contrib/translations/*/*.lng $top/package/language/
cd $top/package/
$top/vs/tool/zip.exe -r -9 $top/dosbox-x-mingw-hx-dos-${{ env.timestamp }}.zip *
TIMESTAMP="${{ env.timestamp }}"
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
ZIPNAME="dosbox-x-hx-dos-${VERSION}.zip"
$top/vs/tool/zip.exe -r -9 "$top/$ZIPNAME" *
else
ZIPNAME="dosbox-x-hx-dos-${TIMESTAMP}-nightly"
fi
echo "ZIPNAME=$ZIPNAME" >> $GITHUB_ENV
cd $top
- name: Wait for VS 32bit build to finish (Release only)
if: startsWith(github.ref, 'refs/tags/')
shell: bash
run: |
sleep 40m
- name: Get releases
run: |
curl -s https://api.github.com/repos/joncampbell123/dosbox-x/releases?per_page=100 > releases.json
- name: Find valid tag (no osfree)
id: decide
shell: bash
run: |
TAG=$(jq -r '
.[]
| select(.draft == false and .prerelease == false)
| select([(.assets // [])[].name | contains("osfree")] | any | not)
| .tag_name
' releases.json | head -n 1)
if [ -z "$TAG" ]; then
echo "No valid release found"
exit 1
fi
echo "Selected tag: $TAG"
echo "tag=$TAG" >> $GITHUB_OUTPUT
- name: Download Windows build
uses: robinraju/release-downloader@v1.11
uses: robinraju/release-downloader@v1.13
with:
repository: "joncampbell123/dosbox-x"
latest: true
tag: ${{ steps.decide.outputs.tag }}
filename: "dosbox-x-vsbuild-win32-*.zip"

- name: Run in Windows build
shell: bash
run: |
top=`pwd`
$top/vs/tool/unzip.exe -n "dosbox-x-vsbuild-win32-*.zip" "bin/Win32/Release/dosbox-x.*"
ZIP=$(ls dosbox-x-vsbuild-win32-*.zip | head -n 1) || exit 1
$top/vs/tool/unzip.exe -n "$ZIP" "bin/Win32/Release/dosbox-x.*"
test -f "$top/bin/Win32/Release/dosbox-x.exe" || (echo "exe not found" && exit 1)
cp $top/package/dosbox-x.ref $top/hxdos.cfg
echo mount b ..>>$top/hxdos.cfg
echo "echo success>b:\SUCCESS.TXT">>$top/hxdos.cfg
$top/bin/Win32/Release/dosbox-x.exe -silent -exit -set memsize=128 -c "mount c ." -c "c:" -c "cd package" -c "dosbox-x -silent -exit -conf ..\hxdos.cfg>..\OUTPUT.TXT"
$top/bin/Win32/Release/dosbox-x.exe -silent -exit -set memsize=128 \
-c "mount c ." \
-c "c:" \
-c "cd package" \
-c "dosbox-x -silent -exit -conf ..\hxdos.cfg>..\OUTPUT.TXT"
cat $top/OUTPUT.TXT
test -f $top/SUCCESS.TXT || (echo The HX-DOS build did not run successfully && exit 1)
test -f $top/SUCCESS.TXT || (echo "HX-DOS build failed" && exit 1)
- name: Upload preview package
uses: actions/upload-artifact@v4.6.0
uses: actions/upload-artifact@v7.0.1
with:
name: dosbox-x-mingw-hx-dos-${{ env.timestamp }}
name: ${{ env.ZIPNAME }}
path: ${{ github.workspace }}/package/
- name: Upload release package
uses: softprops/action-gh-release@v2
uses: softprops/action-gh-release@v3
if: startsWith(github.ref, 'refs/tags/')
with:
files: dosbox-x-mingw-hx-dos-${{ env.timestamp }}.zip
files: ${{ env.ZIPNAME }}
23 changes: 12 additions & 11 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Cancel previous runs
uses: styfle/cancel-workflow-action@0.12.1
uses: styfle/cancel-workflow-action@0.13.1
with:
access_token: ${{ github.token }}
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: '14'
- name: Build minimal
Expand All @@ -30,11 +30,12 @@ jobs:
- name: Install libraries
run: |
sudo apt-get update -y
sudo apt-get install -y nasm fluidsynth libfluidsynth-dev libpcap-dev libslirp-dev libsdl-net1.2-dev libsdl2-net-dev libglu1-mesa-dev freeglut3-dev mesa-common-dev libpng-dev
sudo apt-get install -y nasm fluidsynth libfluidsynth-dev libpcap-dev libslirp-dev libsdl-net1.2-dev libsdl2-net-dev libglu1-mesa-dev freeglut3-dev mesa-common-dev libpng-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libavdevice-dev libavcodec-extra
mkdir src/bin
- name: Update build info
shell: bash
run: |
echo "timestamp=`git show -s --format=%at | xargs -I# date -d @# +%Y%m%d%H%M%S`" >> $GITHUB_ENV
export shortsha=`echo ${GITHUB_SHA} | cut -c1-7`
export copyrightyear=`git show -s --format=%at | xargs -I# date -d @# +'%Y'`
export updatestr=`git show -s --format=%at | xargs -I# date -d @# +'%b %d, %Y %I:%M:%S%P'`
Expand All @@ -46,13 +47,13 @@ jobs:
- name: Build Linux SDL1
run: |
top=`pwd`
./build-debug
./build-debug --enable-avcodec
strip -s $top/src/dosbox-x
cp $top/src/dosbox-x $top/src/bin/dosbox-x-sdl1
- name: Build Linux SDL2
run: |
top=`pwd`
./build-debug-sdl2
./build-debug-sdl2 --enable-avcodec
strip -s $top/src/dosbox-x
cp $top/src/dosbox-x $top/src/bin/dosbox-x-sdl2
- name: Unit testing
Expand All @@ -78,23 +79,23 @@ jobs:
cp $top/contrib/glshaders/* $top/src/bin/glshaders/
cp $top/contrib/translations/*/*.lng $top/src/bin/languages/
- name: Upload preview package
uses: actions/upload-artifact@v4.6.0
uses: actions/upload-artifact@v7.0.1
with:
name: dosbox-x-linux-x86_64-${{ env.timestamp }}
path: ${{ github.workspace }}/src/bin/
Test_cxx11:
permissions:
actions: write # for styfle/cancel-workflow-action to cancel/stop running workflows
contents: read # for actions/checkout to fetch code
if: github.event_name == 'push' || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
if: false # github.event_name == 'push' || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
steps:
- name: Cancel previous runs
uses: styfle/cancel-workflow-action@0.12.1
uses: styfle/cancel-workflow-action@0.13.1
with:
access_token: ${{ github.token }}
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: '14'
- name: Install libraries
Expand Down
62 changes: 43 additions & 19 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,16 @@ jobs:
actions: write # for styfle/cancel-workflow-action to cancel/stop running workflows
contents: write # for actions/checkout to fetch code and softprops/action-gh-release
if: github.event_name == 'push' || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
runs-on: macos-13
runs-on: macos-15-intel
steps:
- name: Cancel previous runs
uses: styfle/cancel-workflow-action@0.12.1
uses: styfle/cancel-workflow-action@0.13.1
with:
access_token: ${{ github.token }}
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Install libraries
run: |
brew install autoconf automake nasm glfw glew coreutils sevenzip
brew install autoconf automake nasm glfw glew coreutils sevenzip libslirp fluid-synth pkg-config libtool
mkdir -p package/dosbox-x
mkdir -p package/dosbox-x-sdl2
# cd vs/sdlnet && ./build-dosbox.sh
Expand All @@ -36,6 +36,10 @@ jobs:
echo "#define GIT_COMMIT_HASH \"${shortsha}\"" >> include/build_timestamp.h
echo "#define COPYRIGHT_END_YEAR \"${copyrightyear}\"" >> include/build_timestamp.h
cat include/build_timestamp.h
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
VERSION=$(echo "${GITHUB_REF##*/}" | sed -E 's/^dosbox-x-v([0-9]+\.[0-9]+\.[0-9]+)$/\1/' || echo "unknown")
echo "VERSION=$VERSION" >> $GITHUB_ENV
fi
- name: Build macOS SDL1
run: |
top=`pwd`
Expand Down Expand Up @@ -66,18 +70,26 @@ jobs:
cp $top/COPYING $top/package/dosbox-x-sdl2/COPYING.txt
cp $top/contrib/macos/readme.txt $top/package/dosbox-x-sdl2/README.txt
cd $top/package/
7zz a $top/dosbox-x-macosx-x86_64-${{ env.timestamp }}.zip *
TIMESTAMP="${{ env.timestamp }}"
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
ZIPNAME="dosbox-x-macosx-x86_64-${VERSION}.zip"
else
ZIPNAME="dosbox-x-macosx-x86_64-${TIMESTAMP}-nightly.zip"
fi
echo "ZIPNAME=$ZIPNAME" >> $GITHUB_ENV
7zz a "$top/$ZIPNAME" *
cd $top
- name: Upload preview package
uses: actions/upload-artifact@v4.6.0
uses: actions/upload-artifact@v7.0.1
with:
name: dosbox-x-macosx-x86_64-${{ env.timestamp }}
path: ${{ github.workspace }}/dosbox-x-macosx-x86_64-${{ env.timestamp }}.zip
name: ${{ env.ZIPNAME }}
path: "${{ github.workspace }}/${{ env.ZIPNAME }}"
- name: Upload release package
uses: softprops/action-gh-release@v2
uses: softprops/action-gh-release@v3
if: startsWith(github.ref, 'refs/tags/')
with:
files: dosbox-x-macosx-x86_64-${{ env.timestamp }}.zip
files: ${{ env.ZIPNAME }}

macOS_ARM_CI_build:
permissions:
actions: write # for styfle/cancel-workflow-action to cancel/stop running workflows
Expand All @@ -86,13 +98,13 @@ jobs:
runs-on: macos-14
steps:
- name: Cancel previous runs
uses: styfle/cancel-workflow-action@0.12.1
uses: styfle/cancel-workflow-action@0.13.1
with:
access_token: ${{ github.token }}
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Install libraries
run: |
brew install autoconf automake nasm glfw glew coreutils sevenzip
brew install autoconf automake nasm glfw glew coreutils sevenzip libslirp fluid-synth pkg-config libtool
mkdir -p package/dosbox-x
mkdir -p package/dosbox-x-sdl2
# cd vs/sdlnet && ./build-dosbox.sh
Expand All @@ -107,6 +119,10 @@ jobs:
echo "#define GIT_COMMIT_HASH \"${shortsha}\"" >> include/build_timestamp.h
echo "#define COPYRIGHT_END_YEAR \"${copyrightyear}\"" >> include/build_timestamp.h
cat include/build_timestamp.h
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
VERSION=$(echo "${GITHUB_REF##*/}" | sed -E 's/^dosbox-x-v([0-9]+\.[0-9]+\.[0-9]+)$/\1/' || echo "unknown")
echo "VERSION=$VERSION" >> $GITHUB_ENV
fi
- name: Build macOS SDL1
run: |
top=`pwd`
Expand Down Expand Up @@ -137,15 +153,23 @@ jobs:
cp $top/COPYING $top/package/dosbox-x-sdl2/COPYING.txt
cp $top/contrib/macos/readme.txt $top/package/dosbox-x-sdl2/README.txt
cd $top/package/
7zz a $top/dosbox-x-macosx-arm64-${{ env.timestamp }}.zip *
TIMESTAMP="${{ env.timestamp }}"
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
ZIPNAME="dosbox-x-macosx-arm64-${VERSION}.zip"
else
ZIPNAME="dosbox-x-macosx-arm64-${TIMESTAMP}-nightly.zip"
fi
echo "ZIPNAME=$ZIPNAME" >> $GITHUB_ENV
7zz a "$top/$ZIPNAME" *
cd $top
- name: Upload preview package
uses: actions/upload-artifact@v4.6.0
uses: actions/upload-artifact@v7.0.1
with:
name: dosbox-x-macosx-arm64-${{ env.timestamp }}
path: ${{ github.workspace }}/dosbox-x-macosx-arm64-${{ env.timestamp }}.zip
name: ${{ env.ZIPNAME }}
path: "${{ github.workspace }}/${{ env.ZIPNAME }}"
- name: Upload release package
uses: softprops/action-gh-release@v2
uses: softprops/action-gh-release@v3
if: startsWith(github.ref, 'refs/tags/')
with:
files: dosbox-x-macosx-arm64-${{ env.timestamp }}.zip
files: ${{ env.ZIPNAME }}

Loading
Loading