mirror of
https://github.com/rommapp/romm.git
synced 2026-06-28 06:46:00 +00:00
Merge pull request #655 from zurdi15/repo-cleanup-prep-3
Repo prep for 3.0 release
This commit is contained in:
41
.github/workflows/build.yml
vendored
41
.github/workflows/build.yml
vendored
@@ -1,12 +1,9 @@
|
||||
name: build romm image
|
||||
name: Build and Push Docker Image
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version:
|
||||
description: "romm version"
|
||||
required: true
|
||||
type: string
|
||||
push:
|
||||
tags:
|
||||
- 'v*'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -19,19 +16,6 @@ jobs:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Set environment variables
|
||||
run: |
|
||||
CURRENT_RC_VERSION=$(wget -q -O - "https://hub.docker.com/v2/repositories/zurdi15/romm/tags?page_size=2" | grep -o '"name": *"[^"]*' | grep -o '[^"]*$' | grep "dev-${{ inputs.version }}-rc" | cut -d "-" -f 3 | cut -d "." -f 2)
|
||||
[[ -z $CURRENT_RC_VERSION ]] && CURRENT_RC_VERSION=0
|
||||
NEXT_RC_VERSION="$(($CURRENT_RC_VERSION + 1))"
|
||||
echo "VERSION_PREFIX=${{ github.ref != format('refs/heads/{0}', 'release') && 'dev-' || '' }}" >> $GITHUB_ENV
|
||||
echo "VERSION_SUFFIX=${{ github.ref == format('refs/heads/{0}', 'master') && '-rc.$NEXT_RC_VERSION' || '' }}" >> $GITHUB_ENV
|
||||
|
||||
- name: Set version
|
||||
run: |
|
||||
version=${{ env.VERSION_PREFIX }}${{ inputs.version }}${{ env.VERSION_SUFFIX }}
|
||||
sed -i 's/<version>/'"${version}"'/' backend/__version__.py
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
|
||||
@@ -58,18 +42,19 @@ jobs:
|
||||
images: |
|
||||
name=zurdi15/romm
|
||||
name=ghcr.io/zurdi15/romm
|
||||
flavor: |
|
||||
# latest on release branch, prefix dev on other branches
|
||||
latest=true
|
||||
prefix=${{ env.VERSION_PREFIX }},onlatest=true
|
||||
suffix=${{ env.VERSION_SUFFIX }},onlatest=false
|
||||
tags: |
|
||||
type=raw,value=${{ inputs.version }}
|
||||
type=semver,pattern={{version}}
|
||||
type=semver,pattern={{major}}.{{minor}}
|
||||
labels: |
|
||||
org.opencontainers.image.version=${{ inputs.version }}
|
||||
org.opencontainers.image.version={{version}}
|
||||
org.opencontainers.image.title="zurdi15/romm"
|
||||
org.opencontainers.image.description="RomM (stands for Rom Manager) is a game library manager focused in retro gaming. Manage and organize all of your games from a web browser"
|
||||
org.opencontainers.image.description="RomM (ROM Manager) allows you to scan, enrich, and browse your game collection with a clean and responsive interface. With support for multiple platforms, various naming schemes and custom tags, RomM is a must-have for anyone who plays on emulators."
|
||||
org.opencontainers.image.licenses="GPL-3.0"
|
||||
|
||||
- name: Set version
|
||||
run: |
|
||||
sed -i 's/<version>/${{ steps.meta.outputs.version }}/' backend/__version__.py
|
||||
|
||||
- name: Build image
|
||||
uses: docker/build-push-action@v4
|
||||
with:
|
||||
|
||||
2
.github/workflows/pytest.yml
vendored
2
.github/workflows/pytest.yml
vendored
@@ -1,4 +1,4 @@
|
||||
name: run pytest
|
||||
name: Run Pytest
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
|
||||
13
README.md
13
README.md
@@ -28,12 +28,13 @@ RomM (ROM Manager) allows you to scan, enrich, and browse your game collection w
|
||||
|
||||
## Features
|
||||
|
||||
- Scans your existing games library [folder-structure] and enchances it with metadata from [IGDB][igdb]
|
||||
- Scans your existing games library and enchances it with metadata from [IGDB][igdb]
|
||||
- Supports a large number of **[platforms][platform-support]**
|
||||
- Play games directly from the browser using [EmulatorJS][wiki-emulatorjs-url]
|
||||
- Built-in [authentication][authentication] with multiple users and permissions
|
||||
- Supports [MAME][mame-xml-update], [Nintendo Switch][switch-titledb-update] and PS2 naming schemes
|
||||
- Detects and groups **multifile games** (e.g. PS1 games with multiple CDs)
|
||||
- Can [parse tags][tag-support] in filenames (e.g. (E), (USA), (rev v1), etc.)
|
||||
- Built-in [authentication][authentication] with multiple users and permissions
|
||||
- View, upload, update, and delete games from any modern web browser
|
||||
|
||||
## Preview
|
||||
@@ -120,7 +121,7 @@ As mentioned in the installation section, RomM requires a specific folder struct
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
For device naming conventions, review the [Platforms Support][platform-support] section. To override default system names in the folder structure (if your directories are named differently), see the [Configuration File][configuration-file] section.
|
||||
For folder naming conventions, review the [Platform Support][platform-support] section. To override default system names in the folder structure (if your directories are named differently), see the [Configuration File][configuration-file] section.
|
||||
|
||||
## Configuration File
|
||||
|
||||
@@ -180,7 +181,9 @@ When a change is detected, a scan will be scheduled for sometime in the future (
|
||||
|
||||
## Platform Support
|
||||
|
||||
If you adhere to the [RomM folder structure][folder-structure], RomM supports any platform listed in the [IGDB platforms list][igdb-platforms-list]. RomM will retrieve game information, metadata, and covers for platforms in that list. Additionally, some of these platforms have custom icons available ([learn more about platform icons in our wiki][wiki-platforms-icons-url]).
|
||||
If you adhere to the [RomM folder structure][folder-structure], RomM supports all platforms listed on the [Supported Platforms][wiki-supported-platforms-url] page. **The folder is is case sensitive and must be used exactly how it appears in the list.** When scanning your library, RomM will use the folder name to determine the platform and fetch the appropriate game information, metadata, and cover art.
|
||||
|
||||
Additionally, some of these platforms have custom icons available ([learn more about platform icons in our wiki][wiki-platforms-icons-url]).
|
||||
|
||||
## Tag Support
|
||||
|
||||
@@ -235,9 +238,11 @@ Here are a few projects that we think you might like:
|
||||
<!-- Wiki links -->
|
||||
|
||||
[wiki-url]: https://github.com/zurdi15/romm/wiki
|
||||
[wiki-supported-platforms-url]: https://github.com/zurdi15/romm/wiki/Supported-Platforms
|
||||
[wiki-authentication-url]: https://github.com/zurdi15/romm/wiki/Authentication
|
||||
[wiki-platforms-icons-url]: https://github.com/zurdi15/romm/wiki/Custom-Platform-Icons
|
||||
[wiki-troubleshooting-url]: https://github.com/zurdi15/romm/wiki/Troubleshooting
|
||||
[wiki-emulatorjs-url]: https://github.com/zurdi15/romm/wiki/EmulatorJS-Player
|
||||
|
||||
<!-- Badges -->
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
__version__ = '<version>'
|
||||
__version__ = "<version>"
|
||||
|
||||
7
frontend/package-lock.json
generated
7
frontend/package-lock.json
generated
@@ -1,12 +1,14 @@
|
||||
{
|
||||
"name": "romm",
|
||||
"version": "2.1.0",
|
||||
"version": "0.0.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "romm",
|
||||
"version": "0.0.1",
|
||||
"hasInstallScript": true,
|
||||
"license": "GPL-3.0-only",
|
||||
"dependencies": {
|
||||
"@mdi/font": "7.0.96",
|
||||
"axios": "^1.6.0",
|
||||
@@ -47,6 +49,9 @@
|
||||
"vite-plugin-static-copy": "0.17.1",
|
||||
"vite-plugin-vuetify": "^1.0.0-alpha.12",
|
||||
"vue-tsc": "^1.8.27"
|
||||
},
|
||||
"engines": {
|
||||
"node": "16"
|
||||
}
|
||||
},
|
||||
"node_modules/@ampproject/remapping": {
|
||||
|
||||
@@ -1,6 +1,23 @@
|
||||
{
|
||||
"name": "romm",
|
||||
"private": true,
|
||||
"version": "0.0.1",
|
||||
"author": "Zurdi <https://github.com/zurdi15>",
|
||||
"description": "A beautiful, powerful, self-hosted rom manager",
|
||||
"license": "GPL-3.0-only",
|
||||
"homepage": "https://github.com/zurdi15/romm",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+gihub.com/zurdi15/romm.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/zurdi15/romm/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"rom",
|
||||
"manager",
|
||||
"emulation"
|
||||
],
|
||||
"scripts": {
|
||||
"dev": "vite --host",
|
||||
"build": "npm run typecheck && vite build",
|
||||
@@ -50,5 +67,8 @@
|
||||
"vite-plugin-static-copy": "0.17.1",
|
||||
"vite-plugin-vuetify": "^1.0.0-alpha.12",
|
||||
"vue-tsc": "^1.8.27"
|
||||
},
|
||||
"engines": {
|
||||
"node": "16"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -75,7 +75,7 @@ async function uploadSaves() {
|
||||
<v-list-item class="px-0">
|
||||
<v-file-input
|
||||
@keyup.enter="uploadSaves()"
|
||||
:label="`Upload ${props.rom.name}`"
|
||||
label="Select save files..."
|
||||
v-model="savesToUpload"
|
||||
prepend-inner-icon="mdi-file"
|
||||
prepend-icon=""
|
||||
@@ -88,6 +88,7 @@ async function uploadSaves() {
|
||||
/>
|
||||
<template v-slot:append>
|
||||
<v-btn
|
||||
:disabled="!savesToUpload.length"
|
||||
@click="uploadSaves()"
|
||||
class="text-romm-green ml-3 bg-terciary"
|
||||
>
|
||||
|
||||
@@ -75,7 +75,7 @@ async function uploadStates() {
|
||||
<v-list-item class="px-0">
|
||||
<v-file-input
|
||||
@keyup.enter="uploadStates()"
|
||||
:label="`Upload ${props.rom.name}`"
|
||||
label="Select state files..."
|
||||
v-model="statesToUpload"
|
||||
prepend-inner-icon="mdi-file"
|
||||
prepend-icon=""
|
||||
@@ -88,6 +88,7 @@ async function uploadStates() {
|
||||
/>
|
||||
<template v-slot:append>
|
||||
<v-btn
|
||||
:disabled="!statesToUpload.length"
|
||||
@click="uploadStates()"
|
||||
class="text-romm-green ml-3 bg-terciary"
|
||||
>
|
||||
|
||||
@@ -16,7 +16,7 @@ const romsStore = storeRoms();
|
||||
class="py-4 pr-5"
|
||||
>
|
||||
<v-list-item-title class="d-flex"
|
||||
><v-icon icon="mdi-upload" class="mr-2" />Upload game</v-list-item-title
|
||||
><v-icon icon="mdi-upload" class="mr-2" />Upload games</v-list-item-title
|
||||
>
|
||||
</v-list-item>
|
||||
</template>
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
[tool.poetry]
|
||||
package-mode = false
|
||||
name = "romm"
|
||||
version = "0.0.1"
|
||||
description = "A beautiful, powerful, self-hosted rom manager"
|
||||
license = "GNU GPLv3"
|
||||
repository = "https://github.com/zurdi15/romm"
|
||||
authors = [
|
||||
"Zurdi <https://github.com/zurdi15/>",
|
||||
"Georges-Antoine Assi <contact@me.gantoine.com>",
|
||||
]
|
||||
|
||||
[tool.poetry.dependencies]
|
||||
python = "^3.10"
|
||||
|
||||
@@ -20,8 +20,8 @@
|
||||
<PostArgs/>
|
||||
<CPUset/>
|
||||
<Requires>
|
||||
Redis (optional)
|
||||
MariaDB (optional)
|
||||
Redis
|
||||
MariaDB
|
||||
</Requires>
|
||||
<Screenshot>https://raw.githubusercontent.com/zurdi15/romm/master/.github/resources/screenshots/home.png</Screenshot>
|
||||
<Screenshot>https://raw.githubusercontent.com/zurdi15/romm/master/.github/resources/screenshots/gallery.png</Screenshot>
|
||||
@@ -30,7 +30,7 @@
|
||||
<Config Name="Port" Target="8080" Default="8080" Mode="tcp" Description="" Type="Port" Display="always" Required="false" Mask="false">8080</Config>
|
||||
<Config Name="Library" Target="/romm/library/" Default="/romm/library" Mode="rw" Description="Game files" Type="Path" Display="always" Required="true" Mask="false"/>
|
||||
<Config Name="Resources" Target="/romm/resources/" Default="" Mode="rw" Description="Metadata storage (covers, screenshots, etc.)" Type="Path" Display="always" Required="true" Mask="false">/mnt/user/appdata/romm/resources</Config>
|
||||
<Config Name="Assets" Target="/romm/assets/" Default="" Mode="rw" Description="Frontend assets" Type="Path" Display="always" Required="true" Mask="false">/mnt/user/appdata/romm/assets</Config>
|
||||
<Config Name="Assets" Target="/romm/assets/" Default="" Mode="rw" Description="Uploaded saves, states, etc." Type="Path" Display="always" Required="true" Mask="false">/mnt/user/appdata/romm/assets</Config>
|
||||
<Config Name="Logs" Target="/romm/logs" Default="" Mode="rw" Description="Log file storage" Type="Path" Display="always" Required="false" Mask="false">/mnt/user/appdata/romm/logs</Config>
|
||||
<Config Name="IGDB_CLIENT_ID" Target="IGDB_CLIENT_ID" Default="" Mode="" Description="IGDB Client ID" Type="Variable" Display="always" Required="true" Mask="false"/>
|
||||
<Config Name="IGDB_CLIENT_SECRET" Target="IGDB_CLIENT_SECRET" Default="" Mode="" Description="IGDB Client Secret" Type="Variable" Display="always" Required="true" Mask="true"/>
|
||||
|
||||
Reference in New Issue
Block a user