diff --git a/.github/workflows/build-artifacts.yml b/.github/workflows/build-artifacts.yml new file mode 100644 index 0000000..7b22c0f --- /dev/null +++ b/.github/workflows/build-artifacts.yml @@ -0,0 +1,16 @@ +name: "Build Artifacts for RetroDECK main manifest" + +on: + push: + branches: + - master + - main + workflow_call: + workflow_dispatch: + +jobs: + + build-project: + uses: RetroDECK/components-template/.github/workflows/build_artifacts.yml@main + with: + MANIFEST_FILENAME: "org.solarus_games.solarus.Launcher.yaml" \ No newline at end of file diff --git a/.github/workflows/build_artifacts.yml b/.github/workflows/build_artifacts.yml deleted file mode 100644 index c9b6830..0000000 --- a/.github/workflows/build_artifacts.yml +++ /dev/null @@ -1,103 +0,0 @@ -name: "Build solarus Artifacts for RetroDECK" - -on: - push: - branches: - - master - workflow_dispatch: - - -jobs: - - Building_RetroDECK-solarus: - runs-on: ubuntu-latest - steps: - - # Circumventing this bug: https://github.com/flatpak/flatpak-builder/issues/317 - # - name: Remove stuck mounts - # run: sudo umount -f /home/ubuntu/solarus-runner/_work/RetroDECK-solarus/RetroDECK-solarus/.flatpak-builder/rofiles/* - # continue-on-error: true - - - name: Clone repo - uses: actions/checkout@v3 - with: - submodules: 'true' - token: ${{ secrets.TRIGGER_BUILD_TOKEN }} - - - name: "Install dependencies" - run: "automation_tools/install_dependencies.sh" - - # - name: "Creating solarus manifest" - # run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/update_solarus_manifest.sh" - - # - name: "[DEBUG] Outputting manifest" - # run: cat net.retrodeck.solarus.yml - - - name: "Build flatpak" - id: "flatpak-download" - run: | - git config --global protocol.file.allow always - flatpak-builder --user --force-clean \ - --install-deps-from=flathub \ - --install-deps-from=flathub-beta \ - --repo=${GITHUB_WORKSPACE}/solarus-repo \ - "${GITHUB_WORKSPACE}"/solarus-build-dir \ - org.solarus_games.solarus.Launcher.yaml - - - name: "Exporting dir tree" - id: tree - run: tree -H ./ > ${GITHUB_WORKSPACE}/tree.html - - - name: Create Artifact for RetroDECK - run: | - tar -czf ${GITHUB_WORKSPACE}/RetroDECK-solarus-Artifact.tar.gz -C ${GITHUB_WORKSPACE}/solarus-build-dir . - hash=($(sha256sum ${GITHUB_WORKSPACE}/RetroDECK-solarus-Artifact.tar.gz)) - echo $hash > ${GITHUB_WORKSPACE}/RetroDECK-Artifact-cooker.sha - mv -f RetroDECK-Artifact-cooker.* ${{ secrets.ARTIFACT_REPO }} - continue-on-error: true - timeout-minutes: 1440 - - - name: Set environment variable with current branch name - run: echo "GITHUB_REF_SLUG=$(git rev-parse --abbrev-ref HEAD)" >> $GITHUB_ENV - - - name: Get branch name - id: branch_name - run: echo "BRANCH_NAME=$(echo $GITHUB_REF | sed 's|refs/heads/||')" >> $GITHUB_ENV - - - name: Get date - id: date - run: echo "DATE=$(date +'%d%m%y.%S')" >> $GITHUB_ENV - - - name: Publish the artifacts in a new release - uses: ncipollo/release-action@v1 - with: - tag: "${{env.BRANCH_NAME}}-${{env.DATE}}" - body: | - # Release Notes - These are the artifact of RetroDECK solarus, commit: ${{ github.event.repository.full_name }}@${{github.sha}}. - On branch [${{env.BRANCH_NAME}}](https://github.com/XargonWan/RetroDECK-solarus/tree/${{env.BRANCH_NAME}}). - - artifacts: "RetroDECK-solarus-Artifact.tar.gz, tree.html" - allowUpdates: true - makeLatest: true - token: ${{ secrets.TRIGGER_BUILD_TOKEN }} - continue-on-error: true - - # - name: "Committing changes" - # with: - # github_token: ${{ secrets.TRIGGER_BUILD_TOKEN }} - # run: | - # git config user.name "GitHub Actions" - # git config user.email "actions@github.com" - # git add * net.retrodeck.solarus.yml - # git commit -m '[AUTOMATED] Updating solarus after build [skip ci]' - # git push origin main - # continue-on-error: true # TODO: would be good to update the manifest but it's broken - - # - name: GitHub Commit & Push - # uses: actions-js/push@v1.4 - # with: - # github_token: ${{ secrets.TRIGGER_BUILD_TOKEN }} - # message: '[AUTOMATED] Updating solarus after build [skip ci]' - # branch: retrodeck-main - # continue-on-error: true # TODO: would be good to update the manifest but it's broken \ No newline at end of file diff --git a/.github/workflows/pr-from-upstream.yml b/.github/workflows/pr-from-upstream.yml new file mode 100644 index 0000000..7eaa9b4 --- /dev/null +++ b/.github/workflows/pr-from-upstream.yml @@ -0,0 +1,11 @@ +name: "Sync with Upstream and Create PR" + +on: + workflow_call: + workflow_dispatch: + schedule: + - cron: "30 0 * * *" # Run every day at 00:30 UTC (9:30 JST) + +jobs: + upstream-sync: + uses: RetroDECK/components-template/.github/workflows/pr_from_upstream.yml@main \ No newline at end of file diff --git a/.gitignore b/.gitignore index c267f68..b5351ef 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ -build-dir/ -.flatpak-builder/ +artifacts-repo +artifacts-build-dir +tree.html \ No newline at end of file diff --git a/automation_tools/install_dependencies.sh b/automation_tools/install_dependencies.sh deleted file mode 100755 index 3daa4ed..0000000 --- a/automation_tools/install_dependencies.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash -# This script is installing the required dependencies to correctly run the pipeline and build the flatpak - -unset pkg_mgr - -# rpm-ostree must be checked before dnf because a dnf (wrapper) command also works on rpm-ostree distros (not what we want) -for potential_pkg_mgr in apt pacman rpm-ostree dnf; do - command -v "$potential_pkg_mgr" &> /dev/null && pkg_mgr="$potential_pkg_mgr" && break -done - -case "$pkg_mgr" in - apt) - sudo apt install -y flatpak flatpak-builder p7zip-full xmlstarlet bzip2 curl jq - ;; - pacman) - sudo pacman -S --noconfirm flatpak flatpak-builder p7zip xmlstarlet bzip2 - ;; - rpm-ostree) - echo "When using a distro with rpm-ostree, you shouldn't build directly on the host. Try using a distrobox." - exit 1 - ;; - dnf) - sudo dnf install -y flatpak flatpak-builder p7zip p7zip-plugins xmlstarlet bzip2 curl - ;; - *) - echo "Package manager $pkg_mgr not supported. Please open an issue." - ;; -esac - -flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo -flatpak remote-add --user --if-not-exists flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo