1
0
mirror of https://git.cloudron.io/cloudron/gitea-app synced 2025-09-25 14:37:44 +00:00

Compare commits

..

15 Commits

Author SHA1 Message Date
Girish Ramakrishnan
290cb350fe Version 1.23.10 2022-04-20 20:42:35 -07:00
Girish Ramakrishnan
27720786bf Update test packages 2022-04-20 17:32:30 -07:00
Girish Ramakrishnan
f48a4c4d72 Update gitea to 1.16.6 2022-04-20 17:27:52 -07:00
Johannes Zellner
65fbb9cb7d Bump version for 1.16.5 2022-03-24 10:38:58 +01:00
Johannes Zellner
63bfe621d1 Update test deps 2022-03-15 10:47:12 +01:00
Johannes Zellner
a6688ede57 Bump version for 1.16.4 2022-03-15 10:47:00 +01:00
Johannes Zellner
7f2646bfb3 Update test deps 2022-03-04 12:36:27 +01:00
Johannes Zellner
aafc1968ec Bump version for 1.16.3 2022-03-04 12:35:54 +01:00
Girish Ramakrishnan
2f85d288e0 Version 1.23.6 2022-02-24 19:46:34 -08:00
Girish Ramakrishnan
e5296ab5ee Fixup tests 2022-02-24 19:42:35 -08:00
Girish Ramakrishnan
77e05f56bf Update Gitea 1.16.2 2022-02-24 19:17:02 -08:00
Girish Ramakrishnan
4eab21379e Listen on IPv6 as well
luckily, sshd does not error if the interface has no IPv6 address
2022-02-09 20:15:27 -08:00
Girish Ramakrishnan
1da61b548f Version 1.23.5 2022-02-06 11:41:39 -08:00
Girish Ramakrishnan
76df0b0113 Update test packages 2022-02-06 11:22:22 -08:00
Girish Ramakrishnan
d9fa8399fe Update Gitea to 1.16.1 2022-02-06 10:24:28 -08:00
8 changed files with 97 additions and 67 deletions

View File

@@ -891,3 +891,45 @@
* Update Gitea to 1.16.0
* [Full changelog](https://github.com/go-gitea/gitea/releases/tag/v1.16.0)
[1.23.5]
* Update Gitea to 1.16.1
* [Full changelog](https://github.com/go-gitea/gitea/releases/tag/v1.16.1)
* Update JS dependencies, fix lint (#18389) (#18540)
* Add dropdown icon to label set template dropdown (#18564) (#18571)
* Comments on migrated issues/prs must link to the comment ID (#18630) (#18637)
* Stop logging an error when notes are not found (#18626) (#18635)
* Ensure that blob-excerpt links work for wiki (#18587) (#18624)
* Only attempt to flush queue if the underlying worker pool is not finished (#18593) (#18620)
[1.23.6]
* Update Gitea to 1.16.2
* [Full changelog](https://github.com/go-gitea/gitea/releases/tag/v1.16.2)
* Show fullname on issue edits and gpg/ssh signing info (#18828)
* Immediately Hammer if second kill is sent (#18823) (#18826)
* Allow mermaid render error to wrap (#18791)
[1.23.7]
* Update Gitea to 1.16.3
* [Full changelog](https://github.com/go-gitea/gitea/releases/tag/v1.16.3)
[1.23.8]
* Update Gitea to 1.16.4
* [Full changelog](https://github.com/go-gitea/gitea/releases/tag/v1.16.4)
* Restrict email address validation (#17688) (#19085)
* Fix lfs bug (#19072) (#19080)
[1.23.9]
* Update Gitea to 1.16.5
* [Full changelog](https://github.com/go-gitea/gitea/releases/tag/v1.16.5)
* Prevent redirect to Host (2) (#19175) (#19186)
* Try to prevent autolinking of displaynames by email readers (#19169) (#19183)
* Clean paths when looking in Storage (#19124) (#19179)
* Do not send notification emails to inactive users (#19131) (#19139)
* Do not send activation email if manual confirm is set (#19119) (#19122)
[1.23.10]
* Update Gitea to 1.16.6
* [Full changelog](https://github.com/go-gitea/gitea/releases/tag/v1.16.6)
* Only request write when necessary (#18657) (#19422)
* Disable service worker by default (#18914) (#19342)

View File

@@ -4,7 +4,8 @@
"author": "Gitea developers",
"description": "file://DESCRIPTION.md",
"tagline": "A painless self-hosted Git Service",
"version": "1.23.4",
"version": "1.23.10",
"upstreamVersion": "1.16.6",
"healthCheckPath": "/explore",
"httpPort": 3000,
"memoryLimit": 536870912,
@@ -36,7 +37,7 @@
"tags": [ "version control", "git", "code hosting", "development", "github", "bitbucket", "gitlab" ],
"changelog": "file://CHANGELOG",
"postInstallMessage": "file://POSTINSTALL.md",
"minBoxVersion": "5.3.0",
"minBoxVersion": "7.1.2",
"forumUrl": "https://forum.cloudron.io/category/19/gitea",
"documentationUrl": "https://docs.cloudron.io/apps/gitea/"
}

View File

@@ -1,5 +1,3 @@
This app packages Gitea <upstream>1.16.0</upstream>
Gitea is a painless self-hosted Git service. It is similar to GitHub, Bitbucket or Gitlab.
### Purpose

View File

@@ -16,7 +16,7 @@ RUN passwd -d git
RUN mkdir -p /home/git/gitea
WORKDIR /home/git
ARG VERSION=1.16.0
ARG VERSION=1.16.6
RUN curl -L https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64 -o /home/git/gitea/gitea \
&& chmod +x /home/git/gitea/gitea

View File

@@ -5,6 +5,7 @@
Port 29418
# Use these options to restrict which interfaces/protocols sshd will bind to
ListenAddress 0.0.0.0
ListenAddress ::
Protocol 2
# HostKeys for protocol version 2
HostKey /app/data/sshd/ssh_host_rsa_key

67
test/package-lock.json generated
View File

@@ -9,9 +9,9 @@
"version": "1.0.0",
"license": "ISC",
"dependencies": {
"chromedriver": "^97.0.2",
"chromedriver": "^100.0.0",
"expect.js": "^0.3.1",
"mocha": "^9.2.0",
"mocha": "^9.2.2",
"rimraf": "^3.0.2",
"selenium-webdriver": "^4.1.1",
"superagent": "^7.1.1"
@@ -292,9 +292,9 @@
}
},
"node_modules/chromedriver": {
"version": "97.0.2",
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-97.0.2.tgz",
"integrity": "sha512-sOAfKCR3WsHvmKedZoWa+3tBVGdPtxq4zKxgKZCoJ2c924olBTW4Bnha6SHl93Yo7+QqsNn6ZpAC0ojhutacAg==",
"version": "100.0.0",
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-100.0.0.tgz",
"integrity": "sha512-oLfB0IgFEGY9qYpFQO/BNSXbPw7bgfJUN5VX8Okps9W2qNT4IqKh5hDwKWtpUIQNI6K3ToWe2/J5NdpurTY02g==",
"hasInstallScript": true,
"dependencies": {
"@testim/chrome-version": "^1.1.2",
@@ -1146,9 +1146,9 @@
}
},
"node_modules/mocha": {
"version": "9.2.0",
"resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.0.tgz",
"integrity": "sha512-kNn7E8g2SzVcq0a77dkphPsDSN7P+iYkqE0ZsGCYWRsoiKjOt+NvXfaagik8vuDa6W5Zw3qxe8Jfpt5qKf+6/Q==",
"version": "9.2.2",
"resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz",
"integrity": "sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==",
"dependencies": {
"@ungap/promise-all-settled": "1.1.2",
"ansi-colors": "4.1.1",
@@ -1163,9 +1163,9 @@
"he": "1.2.0",
"js-yaml": "4.1.0",
"log-symbols": "4.1.0",
"minimatch": "3.0.4",
"minimatch": "4.2.1",
"ms": "2.1.3",
"nanoid": "3.2.0",
"nanoid": "3.3.1",
"serialize-javascript": "6.0.0",
"strip-json-comments": "3.1.1",
"supports-color": "8.1.1",
@@ -1187,6 +1187,17 @@
"url": "https://opencollective.com/mochajs"
}
},
"node_modules/mocha/node_modules/minimatch": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz",
"integrity": "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==",
"dependencies": {
"brace-expansion": "^1.1.7"
},
"engines": {
"node": ">=10"
}
},
"node_modules/mocha/node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
@@ -1198,9 +1209,9 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node_modules/nanoid": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz",
"integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==",
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz",
"integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==",
"bin": {
"nanoid": "bin/nanoid.cjs"
},
@@ -2028,9 +2039,9 @@
}
},
"chromedriver": {
"version": "97.0.2",
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-97.0.2.tgz",
"integrity": "sha512-sOAfKCR3WsHvmKedZoWa+3tBVGdPtxq4zKxgKZCoJ2c924olBTW4Bnha6SHl93Yo7+QqsNn6ZpAC0ojhutacAg==",
"version": "100.0.0",
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-100.0.0.tgz",
"integrity": "sha512-oLfB0IgFEGY9qYpFQO/BNSXbPw7bgfJUN5VX8Okps9W2qNT4IqKh5hDwKWtpUIQNI6K3ToWe2/J5NdpurTY02g==",
"requires": {
"@testim/chrome-version": "^1.1.2",
"axios": "^0.24.0",
@@ -2641,9 +2652,9 @@
}
},
"mocha": {
"version": "9.2.0",
"resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.0.tgz",
"integrity": "sha512-kNn7E8g2SzVcq0a77dkphPsDSN7P+iYkqE0ZsGCYWRsoiKjOt+NvXfaagik8vuDa6W5Zw3qxe8Jfpt5qKf+6/Q==",
"version": "9.2.2",
"resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz",
"integrity": "sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==",
"requires": {
"@ungap/promise-all-settled": "1.1.2",
"ansi-colors": "4.1.1",
@@ -2658,9 +2669,9 @@
"he": "1.2.0",
"js-yaml": "4.1.0",
"log-symbols": "4.1.0",
"minimatch": "3.0.4",
"minimatch": "4.2.1",
"ms": "2.1.3",
"nanoid": "3.2.0",
"nanoid": "3.3.1",
"serialize-javascript": "6.0.0",
"strip-json-comments": "3.1.1",
"supports-color": "8.1.1",
@@ -2671,6 +2682,14 @@
"yargs-unparser": "2.0.0"
},
"dependencies": {
"minimatch": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz",
"integrity": "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==",
"requires": {
"brace-expansion": "^1.1.7"
}
},
"ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
@@ -2684,9 +2703,9 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"nanoid": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz",
"integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA=="
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz",
"integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw=="
},
"normalize-path": {
"version": "3.0.0",

View File

@@ -9,9 +9,9 @@
"author": "",
"license": "ISC",
"dependencies": {
"chromedriver": "^97.0.2",
"chromedriver": "^100.0.0",
"expect.js": "^0.3.1",
"mocha": "^9.2.0",
"mocha": "^9.2.2",
"rimraf": "^3.0.2",
"selenium-webdriver": "^4.1.1",
"superagent": "^7.1.1"

View File

@@ -11,11 +11,10 @@
require('chromedriver');
var execSync = require('child_process').execSync,
const execSync = require('child_process').execSync,
expect = require('expect.js'),
fs = require('fs'),
path = require('path'),
rimraf = require('rimraf'),
superagent = require('superagent'),
{ Builder, By, until } = require('selenium-webdriver'),
{ Options } = require('selenium-webdriver/chrome');
@@ -49,7 +48,7 @@ describe('Application life cycle test', function () {
after(function () {
browser.quit();
rimraf.sync(repodir);
fs.rmSync(repodir, { recursive: true, force: true });
});
function getAppInfo() {
@@ -122,24 +121,6 @@ describe('Application life cycle test', function () {
await browser.wait(until.elementLocated(By.xpath('//p[contains(text(), "has been added.")]')), TIMEOUT);
}
async function addPublicKeyOld() {
var publicKey = fs.readFileSync(__dirname + '/id_rsa.pub', 'utf8');
const sshPage = 'https://' + app.fqdn + '/user/settings/keys';
await browser.get(sshPage);
await browser.wait(until.elementLocated(By.xpath('//div[@data-panel="#add-ssh-key-panel"]')), TIMEOUT);
await browser.findElement(By.xpath('//div[@data-panel="#add-ssh-key-panel"]')).click();
await browser.findElement(By.id('ssh-key-title')).sendKeys('testkey');
await browser.findElement(By.id('ssh-key-content')).sendKeys(publicKey.trim()); // #3480
var button = browser.findElement(By.xpath('//button[contains(text(), "Add Key")]'));
await browser.executeScript('arguments[0].scrollIntoView(false)', button);
await browser.findElement(By.xpath('//button[contains(text(), "Add Key")]')).click();
await browser.wait(until.elementLocated(By.xpath('//p[contains(text(), "has been added.")]')), TIMEOUT);
}
async function createRepo() {
var getRepoPage = await browser.get('https://' + app.fqdn + '/repo/create');
@@ -165,7 +146,7 @@ describe('Application life cycle test', function () {
}
function cloneRepo() {
rimraf.sync(repodir);
fs.rmSync(repodir, { recursive: true, force: true });
var env = Object.create(process.env);
env.GIT_SSH = __dirname + '/git_ssh_wrapper.sh';
execSync(`git clone ssh://git@${app.fqdn}:${SSH_PORT}/${username}/${reponame}.git ${repodir}`, { env: env });
@@ -176,7 +157,7 @@ describe('Application life cycle test', function () {
env.GIT_SSH = __dirname + '/git_ssh_wrapper.sh';
execSync(`touch newfile && git add newfile && git commit -a -mx && git push ssh://git@${app.fqdn}:${SSH_PORT}/${username}/${reponame} master`,
{ env: env, cwd: repodir });
rimraf.sync('/tmp/testrepo');
fs.rmSync(repodir, { recursive: true, force: true });
}
function fileExists() {
@@ -252,18 +233,6 @@ describe('Application life cycle test', function () {
execSync('cloudron uninstall --app ' + app.id, EXEC_ARGS);
});
// check if the _first_ login via email succeeds
it('can login via email', async function () { execSync(`cloudron install --location ${LOCATION} -p SSH_PORT=${SSH_PORT}`, EXEC_ARGS); });
it('can get app information', getAppInfo);
it('can login', login.bind(null, email, password));
it('uninstall app', async function () {
// ensure we don't hit NXDOMAIN in the mean time
await browser.get('about:blank');
execSync('cloudron uninstall --app ' + app.id, EXEC_ARGS);
});
// No SSO
it('install app (no sso)', function () { execSync(`cloudron install --no-sso --location ${LOCATION} -p SSH_PORT=${SSH_PORT}`, EXEC_ARGS); });
@@ -283,7 +252,7 @@ describe('Application life cycle test', function () {
it('can login', login.bind(null, username, password));
it('can set avatar', setAvatar);
it('can get avatar', checkAvatar);
it('can add public key', addPublicKeyOld);
it('can add public key', addPublicKey);
it('can create repo', createRepo);
it('can clone the url', cloneRepo);
it('can add and push a file', pushFile);