diff --git a/404.html b/404.html index bb1d205..7823a6a 100644 --- a/404.html +++ b/404.html @@ -13,7 +13,7 @@ - + @@ -21,7 +21,7 @@ - + @@ -388,6 +388,8 @@ + + @@ -452,6 +454,20 @@ + + + + + +
  • + + SOP: Repocompare + +
  • + + + + @@ -512,10 +528,10 @@
    - + - + diff --git a/assets/javascripts/bundle.b425cdc4.min.js b/assets/javascripts/bundle.220ee61c.min.js similarity index 85% rename from assets/javascripts/bundle.b425cdc4.min.js rename to assets/javascripts/bundle.220ee61c.min.js index 201e523..116072a 100644 --- a/assets/javascripts/bundle.b425cdc4.min.js +++ b/assets/javascripts/bundle.220ee61c.min.js @@ -24,6 +24,6 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */var wr=function(e,t){return wr=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(r[o]=n[o])},wr(e,t)};function ie(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");wr(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}function fn(e,t,r,n){function o(i){return i instanceof r?i:new r(function(s){s(i)})}return new(r||(r=Promise))(function(i,s){function a(u){try{c(n.next(u))}catch(p){s(p)}}function f(u){try{c(n.throw(u))}catch(p){s(p)}}function c(u){u.done?i(u.value):o(u.value).then(a,f)}c((n=n.apply(e,t||[])).next())})}function $t(e,t){var r={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},n,o,i,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(c){return function(u){return f([c,u])}}function f(c){if(n)throw new TypeError("Generator is already executing.");for(;r;)try{if(n=1,o&&(i=c[0]&2?o.return:c[0]?o.throw||((i=o.return)&&i.call(o),0):o.next)&&!(i=i.call(o,c[1])).done)return i;switch(o=0,i&&(c=[c[0]&2,i.value]),c[0]){case 0:case 1:i=c;break;case 4:return r.label++,{value:c[1],done:!1};case 5:r.label++,o=c[1],c=[0];continue;case 7:c=r.ops.pop(),r.trys.pop();continue;default:if(i=r.trys,!(i=i.length>0&&i[i.length-1])&&(c[0]===6||c[0]===2)){r=0;continue}if(c[0]===3&&(!i||c[1]>i[0]&&c[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function W(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),o,i=[],s;try{for(;(t===void 0||t-- >0)&&!(o=n.next()).done;)i.push(o.value)}catch(a){s={error:a}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(s)throw s.error}}return i}function D(e,t,r){if(r||arguments.length===2)for(var n=0,o=t.length,i;n1||a(m,d)})})}function a(m,d){try{f(n[m](d))}catch(h){p(i[0][3],h)}}function f(m){m.value instanceof et?Promise.resolve(m.value.v).then(c,u):p(i[0][2],m)}function c(m){a("next",m)}function u(m){a("throw",m)}function p(m,d){m(d),i.shift(),i.length&&a(i[0][0],i[0][1])}}function pn(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof Ee=="function"?Ee(e):e[Symbol.iterator](),r={},n("next"),n("throw"),n("return"),r[Symbol.asyncIterator]=function(){return this},r);function n(i){r[i]=e[i]&&function(s){return new Promise(function(a,f){s=e[i](s),o(a,f,s.done,s.value)})}}function o(i,s,a,f){Promise.resolve(f).then(function(c){i({value:c,done:a})},s)}}function C(e){return typeof e=="function"}function at(e){var t=function(n){Error.call(n),n.stack=new Error().stack},r=e(t);return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}var It=at(function(e){return function(r){e(this),this.message=r?r.length+` errors occurred during unsubscription: `+r.map(function(n,o){return o+1+") "+n.toString()}).join(` - `):"",this.name="UnsubscriptionError",this.errors=r}});function Ve(e,t){if(e){var r=e.indexOf(t);0<=r&&e.splice(r,1)}}var Ie=function(){function e(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var t,r,n,o,i;if(!this.closed){this.closed=!0;var s=this._parentage;if(s)if(this._parentage=null,Array.isArray(s))try{for(var a=Ee(s),f=a.next();!f.done;f=a.next()){var c=f.value;c.remove(this)}}catch(v){t={error:v}}finally{try{f&&!f.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}else s.remove(this);var u=this.initialTeardown;if(C(u))try{u()}catch(v){i=v instanceof It?v.errors:[v]}var p=this._finalizers;if(p){this._finalizers=null;try{for(var m=Ee(p),d=m.next();!d.done;d=m.next()){var h=d.value;try{ln(h)}catch(v){i=i!=null?i:[],v instanceof It?i=D(D([],W(i)),W(v.errors)):i.push(v)}}}catch(v){n={error:v}}finally{try{d&&!d.done&&(o=m.return)&&o.call(m)}finally{if(n)throw n.error}}}if(i)throw new It(i)}},e.prototype.add=function(t){var r;if(t&&t!==this)if(this.closed)ln(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(t)}},e.prototype._hasParent=function(t){var r=this._parentage;return r===t||Array.isArray(r)&&r.includes(t)},e.prototype._addParent=function(t){var r=this._parentage;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t},e.prototype._removeParent=function(t){var r=this._parentage;r===t?this._parentage=null:Array.isArray(r)&&Ve(r,t)},e.prototype.remove=function(t){var r=this._finalizers;r&&Ve(r,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}();var Sr=Ie.EMPTY;function jt(e){return e instanceof Ie||e&&"closed"in e&&C(e.remove)&&C(e.add)&&C(e.unsubscribe)}function ln(e){C(e)?e():e.unsubscribe()}var Le={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var st={setTimeout:function(e,t){for(var r=[],n=2;n0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(r){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,r)},t.prototype._subscribe=function(r){return this._throwIfClosed(),this._checkFinalizedStatuses(r),this._innerSubscribe(r)},t.prototype._innerSubscribe=function(r){var n=this,o=this,i=o.hasError,s=o.isStopped,a=o.observers;return i||s?Sr:(this.currentObservers=null,a.push(r),new Ie(function(){n.currentObservers=null,Ve(a,r)}))},t.prototype._checkFinalizedStatuses=function(r){var n=this,o=n.hasError,i=n.thrownError,s=n.isStopped;o?r.error(i):s&&r.complete()},t.prototype.asObservable=function(){var r=new F;return r.source=this,r},t.create=function(r,n){return new xn(r,n)},t}(F);var xn=function(e){ie(t,e);function t(r,n){var o=e.call(this)||this;return o.destination=r,o.source=n,o}return t.prototype.next=function(r){var n,o;(o=(n=this.destination)===null||n===void 0?void 0:n.next)===null||o===void 0||o.call(n,r)},t.prototype.error=function(r){var n,o;(o=(n=this.destination)===null||n===void 0?void 0:n.error)===null||o===void 0||o.call(n,r)},t.prototype.complete=function(){var r,n;(n=(r=this.destination)===null||r===void 0?void 0:r.complete)===null||n===void 0||n.call(r)},t.prototype._subscribe=function(r){var n,o;return(o=(n=this.source)===null||n===void 0?void 0:n.subscribe(r))!==null&&o!==void 0?o:Sr},t}(x);var Et={now:function(){return(Et.delegate||Date).now()},delegate:void 0};var wt=function(e){ie(t,e);function t(r,n,o){r===void 0&&(r=1/0),n===void 0&&(n=1/0),o===void 0&&(o=Et);var i=e.call(this)||this;return i._bufferSize=r,i._windowTime=n,i._timestampProvider=o,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=n===1/0,i._bufferSize=Math.max(1,r),i._windowTime=Math.max(1,n),i}return t.prototype.next=function(r){var n=this,o=n.isStopped,i=n._buffer,s=n._infiniteTimeWindow,a=n._timestampProvider,f=n._windowTime;o||(i.push(r),!s&&i.push(a.now()+f)),this._trimBuffer(),e.prototype.next.call(this,r)},t.prototype._subscribe=function(r){this._throwIfClosed(),this._trimBuffer();for(var n=this._innerSubscribe(r),o=this,i=o._infiniteTimeWindow,s=o._buffer,a=s.slice(),f=0;f0?e.prototype.requestAsyncId.call(this,r,n,o):(r.actions.push(this),r._scheduled||(r._scheduled=ut.requestAnimationFrame(function(){return r.flush(void 0)})))},t.prototype.recycleAsyncId=function(r,n,o){var i;if(o===void 0&&(o=0),o!=null?o>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,r,n,o);var s=r.actions;n!=null&&((i=s[s.length-1])===null||i===void 0?void 0:i.id)!==n&&(ut.cancelAnimationFrame(n),r._scheduled=void 0)},t}(Wt);var Sn=function(e){ie(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.flush=function(r){this._active=!0;var n=this._scheduled;this._scheduled=void 0;var o=this.actions,i;r=r||o.shift();do if(i=r.execute(r.state,r.delay))break;while((r=o[0])&&r.id===n&&o.shift());if(this._active=!1,i){for(;(r=o[0])&&r.id===n&&o.shift();)r.unsubscribe();throw i}},t}(Dt);var Oe=new Sn(wn);var M=new F(function(e){return e.complete()});function Vt(e){return e&&C(e.schedule)}function Cr(e){return e[e.length-1]}function Ye(e){return C(Cr(e))?e.pop():void 0}function Te(e){return Vt(Cr(e))?e.pop():void 0}function zt(e,t){return typeof Cr(e)=="number"?e.pop():t}var pt=function(e){return e&&typeof e.length=="number"&&typeof e!="function"};function Nt(e){return C(e==null?void 0:e.then)}function qt(e){return C(e[ft])}function Kt(e){return Symbol.asyncIterator&&C(e==null?void 0:e[Symbol.asyncIterator])}function Qt(e){return new TypeError("You provided "+(e!==null&&typeof e=="object"?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function zi(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Yt=zi();function Gt(e){return C(e==null?void 0:e[Yt])}function Bt(e){return un(this,arguments,function(){var r,n,o,i;return $t(this,function(s){switch(s.label){case 0:r=e.getReader(),s.label=1;case 1:s.trys.push([1,,9,10]),s.label=2;case 2:return[4,et(r.read())];case 3:return n=s.sent(),o=n.value,i=n.done,i?[4,et(void 0)]:[3,5];case 4:return[2,s.sent()];case 5:return[4,et(o)];case 6:return[4,s.sent()];case 7:return s.sent(),[3,2];case 8:return[3,10];case 9:return r.releaseLock(),[7];case 10:return[2]}})})}function Jt(e){return C(e==null?void 0:e.getReader)}function U(e){if(e instanceof F)return e;if(e!=null){if(qt(e))return Ni(e);if(pt(e))return qi(e);if(Nt(e))return Ki(e);if(Kt(e))return On(e);if(Gt(e))return Qi(e);if(Jt(e))return Yi(e)}throw Qt(e)}function Ni(e){return new F(function(t){var r=e[ft]();if(C(r.subscribe))return r.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function qi(e){return new F(function(t){for(var r=0;r=2;return function(n){return n.pipe(e?A(function(o,i){return e(o,i,n)}):de,ge(1),r?He(t):Dn(function(){return new Zt}))}}function Vn(){for(var e=[],t=0;t=2,!0))}function pe(e){e===void 0&&(e={});var t=e.connector,r=t===void 0?function(){return new x}:t,n=e.resetOnError,o=n===void 0?!0:n,i=e.resetOnComplete,s=i===void 0?!0:i,a=e.resetOnRefCountZero,f=a===void 0?!0:a;return function(c){var u,p,m,d=0,h=!1,v=!1,Y=function(){p==null||p.unsubscribe(),p=void 0},B=function(){Y(),u=m=void 0,h=v=!1},N=function(){var O=u;B(),O==null||O.unsubscribe()};return y(function(O,Qe){d++,!v&&!h&&Y();var De=m=m!=null?m:r();Qe.add(function(){d--,d===0&&!v&&!h&&(p=$r(N,f))}),De.subscribe(Qe),!u&&d>0&&(u=new rt({next:function($e){return De.next($e)},error:function($e){v=!0,Y(),p=$r(B,o,$e),De.error($e)},complete:function(){h=!0,Y(),p=$r(B,s),De.complete()}}),U(O).subscribe(u))})(c)}}function $r(e,t){for(var r=[],n=2;ne.next(document)),e}function K(e,t=document){return Array.from(t.querySelectorAll(e))}function z(e,t=document){let r=ce(e,t);if(typeof r=="undefined")throw new ReferenceError(`Missing element: expected "${e}" to be present`);return r}function ce(e,t=document){return t.querySelector(e)||void 0}function _e(){return document.activeElement instanceof HTMLElement&&document.activeElement||void 0}function tr(e){return L(b(document.body,"focusin"),b(document.body,"focusout")).pipe(ke(1),l(()=>{let t=_e();return typeof t!="undefined"?e.contains(t):!1}),V(e===_e()),J())}function Xe(e){return{x:e.offsetLeft,y:e.offsetTop}}function Kn(e){return L(b(window,"load"),b(window,"resize")).pipe(Ce(0,Oe),l(()=>Xe(e)),V(Xe(e)))}function rr(e){return{x:e.scrollLeft,y:e.scrollTop}}function dt(e){return L(b(e,"scroll"),b(window,"resize")).pipe(Ce(0,Oe),l(()=>rr(e)),V(rr(e)))}var Yn=function(){if(typeof Map!="undefined")return Map;function e(t,r){var n=-1;return t.some(function(o,i){return o[0]===r?(n=i,!0):!1}),n}return function(){function t(){this.__entries__=[]}return Object.defineProperty(t.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(r){var n=e(this.__entries__,r),o=this.__entries__[n];return o&&o[1]},t.prototype.set=function(r,n){var o=e(this.__entries__,r);~o?this.__entries__[o][1]=n:this.__entries__.push([r,n])},t.prototype.delete=function(r){var n=this.__entries__,o=e(n,r);~o&&n.splice(o,1)},t.prototype.has=function(r){return!!~e(this.__entries__,r)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.forEach=function(r,n){n===void 0&&(n=null);for(var o=0,i=this.__entries__;o0},e.prototype.connect_=function(){!Wr||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),va?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},e.prototype.disconnect_=function(){!Wr||!this.connected_||(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},e.prototype.onTransitionEnd_=function(t){var r=t.propertyName,n=r===void 0?"":r,o=ba.some(function(i){return!!~n.indexOf(i)});o&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),Gn=function(e,t){for(var r=0,n=Object.keys(t);r0},e}(),Jn=typeof WeakMap!="undefined"?new WeakMap:new Yn,Xn=function(){function e(t){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var r=ga.getInstance(),n=new La(t,r,this);Jn.set(this,n)}return e}();["observe","unobserve","disconnect"].forEach(function(e){Xn.prototype[e]=function(){var t;return(t=Jn.get(this))[e].apply(t,arguments)}});var Aa=function(){return typeof nr.ResizeObserver!="undefined"?nr.ResizeObserver:Xn}(),Zn=Aa;var eo=new x,Ca=$(()=>k(new Zn(e=>{for(let t of e)eo.next(t)}))).pipe(g(e=>L(ze,k(e)).pipe(R(()=>e.disconnect()))),X(1));function he(e){return{width:e.offsetWidth,height:e.offsetHeight}}function ye(e){return Ca.pipe(S(t=>t.observe(e)),g(t=>eo.pipe(A(({target:r})=>r===e),R(()=>t.unobserve(e)),l(()=>he(e)))),V(he(e)))}function bt(e){return{width:e.scrollWidth,height:e.scrollHeight}}function ar(e){let t=e.parentElement;for(;t&&(e.scrollWidth<=t.scrollWidth&&e.scrollHeight<=t.scrollHeight);)t=(e=t).parentElement;return t?e:void 0}var to=new x,Ra=$(()=>k(new IntersectionObserver(e=>{for(let t of e)to.next(t)},{threshold:0}))).pipe(g(e=>L(ze,k(e)).pipe(R(()=>e.disconnect()))),X(1));function sr(e){return Ra.pipe(S(t=>t.observe(e)),g(t=>to.pipe(A(({target:r})=>r===e),R(()=>t.unobserve(e)),l(({isIntersecting:r})=>r))))}function ro(e,t=16){return dt(e).pipe(l(({y:r})=>{let n=he(e),o=bt(e);return r>=o.height-n.height-t}),J())}var cr={drawer:z("[data-md-toggle=drawer]"),search:z("[data-md-toggle=search]")};function no(e){return cr[e].checked}function Ke(e,t){cr[e].checked!==t&&cr[e].click()}function Ue(e){let t=cr[e];return b(t,"change").pipe(l(()=>t.checked),V(t.checked))}function ka(e,t){switch(e.constructor){case HTMLInputElement:return e.type==="radio"?/^Arrow/.test(t):!0;case HTMLSelectElement:case HTMLTextAreaElement:return!0;default:return e.isContentEditable}}function Ha(){return L(b(window,"compositionstart").pipe(l(()=>!0)),b(window,"compositionend").pipe(l(()=>!1))).pipe(V(!1))}function oo(){let e=b(window,"keydown").pipe(A(t=>!(t.metaKey||t.ctrlKey)),l(t=>({mode:no("search")?"search":"global",type:t.key,claim(){t.preventDefault(),t.stopPropagation()}})),A(({mode:t,type:r})=>{if(t==="global"){let n=_e();if(typeof n!="undefined")return!ka(n,r)}return!0}),pe());return Ha().pipe(g(t=>t?M:e))}function le(){return new URL(location.href)}function ot(e){location.href=e.href}function io(){return new x}function ao(e,t){if(typeof t=="string"||typeof t=="number")e.innerHTML+=t.toString();else if(t instanceof Node)e.appendChild(t);else if(Array.isArray(t))for(let r of t)ao(e,r)}function _(e,t,...r){let n=document.createElement(e);if(t)for(let o of Object.keys(t))typeof t[o]!="undefined"&&(typeof t[o]!="boolean"?n.setAttribute(o,t[o]):n.setAttribute(o,""));for(let o of r)ao(n,o);return n}function fr(e){if(e>999){let t=+((e-950)%1e3>99);return`${((e+1e-6)/1e3).toFixed(t)}k`}else return e.toString()}function so(){return location.hash.substring(1)}function Dr(e){let t=_("a",{href:e});t.addEventListener("click",r=>r.stopPropagation()),t.click()}function Pa(e){return L(b(window,"hashchange"),e).pipe(l(so),V(so()),A(t=>t.length>0),X(1))}function co(e){return Pa(e).pipe(l(t=>ce(`[id="${t}"]`)),A(t=>typeof t!="undefined"))}function Vr(e){let t=matchMedia(e);return er(r=>t.addListener(()=>r(t.matches))).pipe(V(t.matches))}function fo(){let e=matchMedia("print");return L(b(window,"beforeprint").pipe(l(()=>!0)),b(window,"afterprint").pipe(l(()=>!1))).pipe(V(e.matches))}function zr(e,t){return e.pipe(g(r=>r?t():M))}function ur(e,t={credentials:"same-origin"}){return ue(fetch(`${e}`,t)).pipe(fe(()=>M),g(r=>r.status!==200?Ot(()=>new Error(r.statusText)):k(r)))}function We(e,t){return ur(e,t).pipe(g(r=>r.json()),X(1))}function uo(e,t){let r=new DOMParser;return ur(e,t).pipe(g(n=>n.text()),l(n=>r.parseFromString(n,"text/xml")),X(1))}function pr(e){let t=_("script",{src:e});return $(()=>(document.head.appendChild(t),L(b(t,"load"),b(t,"error").pipe(g(()=>Ot(()=>new ReferenceError(`Invalid script: ${e}`))))).pipe(l(()=>{}),R(()=>document.head.removeChild(t)),ge(1))))}function po(){return{x:Math.max(0,scrollX),y:Math.max(0,scrollY)}}function lo(){return L(b(window,"scroll",{passive:!0}),b(window,"resize",{passive:!0})).pipe(l(po),V(po()))}function mo(){return{width:innerWidth,height:innerHeight}}function ho(){return b(window,"resize",{passive:!0}).pipe(l(mo),V(mo()))}function bo(){return G([lo(),ho()]).pipe(l(([e,t])=>({offset:e,size:t})),X(1))}function lr(e,{viewport$:t,header$:r}){let n=t.pipe(ee("size")),o=G([n,r]).pipe(l(()=>Xe(e)));return G([r,t,o]).pipe(l(([{height:i},{offset:s,size:a},{x:f,y:c}])=>({offset:{x:s.x-f,y:s.y-c+i},size:a})))}(()=>{function e(n,o){parent.postMessage(n,o||"*")}function t(...n){return n.reduce((o,i)=>o.then(()=>new Promise(s=>{let a=document.createElement("script");a.src=i,a.onload=s,document.body.appendChild(a)})),Promise.resolve())}var r=class extends EventTarget{constructor(n){super(),this.url=n,this.m=i=>{i.source===this.w&&(this.dispatchEvent(new MessageEvent("message",{data:i.data})),this.onmessage&&this.onmessage(i))},this.e=(i,s,a,f,c)=>{if(s===`${this.url}`){let u=new ErrorEvent("error",{message:i,filename:s,lineno:a,colno:f,error:c});this.dispatchEvent(u),this.onerror&&this.onerror(u)}};let o=document.createElement("iframe");o.hidden=!0,document.body.appendChild(this.iframe=o),this.w.document.open(),this.w.document.write(` + - + diff --git a/guidelines/index.html b/guidelines/index.html index 48b4315..08347d4 100644 --- a/guidelines/index.html +++ b/guidelines/index.html @@ -19,7 +19,7 @@ - + @@ -27,7 +27,7 @@ - + @@ -394,6 +394,8 @@ + + @@ -458,6 +460,20 @@ + + + + + +
  • + + SOP: Repocompare + +
  • + + + + @@ -564,10 +580,10 @@ anything related to the infrastructure used for testing Rocky Linux.

    - + - + diff --git a/include/contacts_top/index.html b/include/contacts_top/index.html index 6b50099..911e9ef 100644 --- a/include/contacts_top/index.html +++ b/include/contacts_top/index.html @@ -19,7 +19,7 @@ - + @@ -27,7 +27,7 @@ - + @@ -399,6 +399,8 @@ + + @@ -463,6 +465,20 @@ + + + + + +
  • + + SOP: Repocompare + +
  • + + + + @@ -578,10 +594,10 @@
    - + - + diff --git a/include/content_bottom/index.html b/include/content_bottom/index.html index b1ec0db..d090dab 100644 --- a/include/content_bottom/index.html +++ b/include/content_bottom/index.html @@ -19,7 +19,7 @@ - + @@ -27,7 +27,7 @@ - + @@ -394,6 +394,8 @@ + + @@ -458,6 +460,20 @@ + + + + + +
  • + + SOP: Repocompare + +
  • + + + + @@ -561,10 +577,10 @@
    - + - + diff --git a/include/members_full/index.html b/include/members_full/index.html index f2cd014..89b9a48 100644 --- a/include/members_full/index.html +++ b/include/members_full/index.html @@ -19,7 +19,7 @@ - + @@ -27,7 +27,7 @@ - + @@ -394,6 +394,8 @@ + + @@ -458,6 +460,20 @@ + + + + + +
  • + + SOP: Repocompare + +
  • + + + + @@ -608,10 +624,10 @@
    - + - + diff --git a/include/members_no_role/index.html b/include/members_no_role/index.html index f7df9e4..0d472eb 100644 --- a/include/members_no_role/index.html +++ b/include/members_no_role/index.html @@ -19,7 +19,7 @@ - + @@ -27,7 +27,7 @@ - + @@ -394,6 +394,8 @@ + + @@ -458,6 +460,20 @@ + + + + + +
  • + + SOP: Repocompare + +
  • + + + + @@ -556,10 +572,10 @@
    - + - + diff --git a/index.html b/index.html index ac74c15..6508750 100644 --- a/index.html +++ b/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -459,6 +459,8 @@ + + @@ -523,6 +525,20 @@ + + + + + +
  • + + SOP: Repocompare + +
  • + + + + @@ -638,10 +654,10 @@
    - + - + diff --git a/members/index.html b/members/index.html index fe077ba..69ae204 100644 --- a/members/index.html +++ b/members/index.html @@ -19,7 +19,7 @@ - + @@ -27,7 +27,7 @@ - + @@ -402,6 +402,8 @@ + + @@ -466,6 +468,20 @@ + + + + + +
  • + + SOP: Repocompare + +
  • + + + + @@ -631,10 +647,10 @@
    - + - + diff --git a/search/search_index.json b/search/search_index.json index 1ec8e1b..bf8a176 100644 --- a/search/search_index.json +++ b/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Testing Team Wiki","text":""},{"location":"#links","title":"Links","text":"
    • Rocky Linux Mattermost: ~Testing
    • Rocky Linux openQA: https://openqa.rockylinux.org
    "},{"location":"#responsibilities","title":"Responsibilities","text":"

    The Testing Team handles testing and QA for Rocky Linux.

    "},{"location":"#meetings-communications","title":"Meetings / Communications","text":"
    • Weekly Team Meeting: Zoom
    "},{"location":"#members","title":"Members","text":"

    For a list of our members, see the Members page.

    Additional Information ContactDisclaimerLicense

    If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.

    Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.

    This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.

    "},{"location":"members/","title":"Members","text":"Role Name Email Mattermost Name IRC Name Testing Lead Chris Stackpole stack@rockylinux.org @stack Testing Team Al Bowles @raktajino raktajino Testing Team Trevor Cooper tcooper@rockylinux.org @tcooper Testing Team Lukas Magauer lukas@magauer.eu @lumarel Testing Team Alan Marshall @alangm alangm Testing Team Rich Alloway @ralloway Testing Team Anthony Navarro @anavarro10 Additional Information ContactDisclaimerLicense

    If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.

    Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.

    This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.

    "},{"location":"documentation/","title":"Documentation","text":"

    This section goes over various Documentation for the Testing team. Please use the menu items to find the various pages of interest.

    Additional Information ContactDisclaimerLicense

    If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.

    Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.

    This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.

    "},{"location":"guidelines/","title":"Guidelines","text":"

    This section goes over guidelines that the Testing team has set out for anything related to the infrastructure used for testing Rocky Linux.

    All guidelines are listed on the left side of this page.

    Additional Information ContactDisclaimerLicense

    If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.

    Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.

    This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.

    "},{"location":"include/contacts_top/","title":"Contacts top","text":""},{"location":"include/contacts_top/#contact-information","title":"Contact Information","text":"Owner Testing Team Email Contact testing@rockylinux.org Mattermost Contacts @stack, @tcooper Mattermost Channels ~Testing"},{"location":"include/content_bottom/","title":"Content bottom","text":"Additional Information ContactDisclaimerLicense

    If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.

    Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.

    This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.

    "},{"location":"include/members_full/","title":"Members full","text":"Role Name Email Mattermost Name IRC Name Testing Lead Chris Stackpole stack@rockylinux.org @stack Testing Team Al Bowles @raktajino raktajino Testing Team Trevor Cooper tcooper@rockylinux.org @tcooper Testing Team Lukas Magauer lukas@magauer.eu @lumarel Testing Team Alan Marshall @alangm alangm Testing Team Rich Alloway @ralloway Testing Team Anthony Navarro @anavarro10"},{"location":"include/members_no_role/","title":"Members no role","text":"
    | Name            | Email                   | Mattermost Name    | IRC Name  |\n| --------------- | ----------------------- | ------------------ | --------- |\n| Chris Stackpole | stack@rockylinux.org    | @stack             |           |\n| Al Bowles       |                         | @raktajino         | raktajino |\n| Trevor Cooper   | tcooper@rockylinux.org  | @tcooper           |           |\n| Lukas Magauer   | lukas@magauer.eu        | @lumarel           |           |\n| Alan Marshall   |                         | @alangm            | alangm    |\n| Rich Alloway    |                         | @ralloway          |           |\n| Anthony Navarro |                         | @anavarro10        |           |\n
    "},{"location":"sop/","title":"SOP (Standard Operationg Procedures)","text":"

    This section goes over the various SOP's for the Testing Team. Please use the menu items to find the various pages of interest.

    Additional Information ContactDisclaimerLicense

    If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.

    Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.

    This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.

    "},{"location":"sop/openqa_sop_operator_access/","title":"SOP: openQA - Operator Access Request","text":"

    This SOP covers how the Rocky Linux Testing Team handles requests for Operator access to the openQA system.

    "},{"location":"sop/openqa_sop_operator_access/#contact-information","title":"Contact Information","text":"Owner Testing Team Email Contact testing@rockylinux.org Mattermost Contacts @stack, @tcooper Mattermost Channels ~Testing"},{"location":"sop/openqa_sop_operator_access/#responding-to-an-openqa-operator-access-request","title":"Responding to an openQA Operator Access Request","text":"

    TODO

    Additional Information ContactDisclaimerLicense

    If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.

    Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.

    This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.

    "},{"location":"sop/openqa_sop_operator_removal/","title":"SOP: openQA - Operator Access Removal","text":"

    This SOP covers how the Rocky Linux Testing Team handles requests for Operator access removal on the openQA system.

    "},{"location":"sop/openqa_sop_operator_removal/#contact-information","title":"Contact Information","text":"Owner Testing Team Email Contact testing@rockylinux.org Mattermost Contacts @stack, @tcooper Mattermost Channels ~Testing"},{"location":"sop/openqa_sop_operator_removal/#responding-to-an-openqa-operator-access-removal","title":"Responding to an openQA Operator Access Removal","text":"

    TODO

    Additional Information ContactDisclaimerLicense

    If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.

    Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.

    This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.

    "},{"location":"sop/openqa_sop_system_upgrades/","title":"SOP: openQA - System Upgrades","text":"

    This SOP details the necessary steps for performing a system upgrade on an openQA host.

    "},{"location":"sop/openqa_sop_system_upgrades/#contact-information","title":"Contact Information","text":"Owner Testing Team Email Contact testing@rockylinux.org Mattermost Contacts @stack, @tcooper Mattermost Channels ~Testing"},{"location":"sop/openqa_sop_system_upgrades/#fedora","title":"Fedora","text":"
    1. Verify current installation is fully upgraded

      dnf upgrade --refresh\n
    2. Install system upgrade plugin

      dnf install dnf-plugin-system-upgrade\n
    3. Download the upgrade packages for next version

      dnf system-upgrade download --releasever=[newversion]\n
    4. Reboot into offline upgrade mode

      dnf system-upgrade reboot\n
    5. Post-reboot cleanup

      dnf system-upgrade clean\ndnf clean packages\n
    "},{"location":"sop/openqa_sop_system_upgrades/#post-upgrade-tasks","title":"Post-Upgrade Tasks","text":"

    These steps may also be necessary in some (but not all) cases.

    "},{"location":"sop/openqa_sop_system_upgrades/#upgrade-the-postgresql-database","title":"Upgrade the PostgreSQL database","text":"
    1. Install postgresql-upgrade package

      dnf install postgresql-upgrade\n
    2. Upgrade your postgres database

      sudo -iu postgres\npostgresql-setup --upgrade\n
    "},{"location":"sop/openqa_sop_system_upgrades/#re-apply-rocky-branding","title":"Re-apply Rocky branding","text":"
    1. Obtain the Ansible openQA deployment repository

    2. Run the branding related tasks

      ansible-playbook init-openqa-rocky-developer-host.yml -t branding\n
    "},{"location":"sop/openqa_sop_system_upgrades/#references","title":"References","text":"
    • Upgrading Fedora using the DNF system upgrade
    • How to Easily Upgrade to Fedora Workstation 36
    Additional Information ContactDisclaimerLicense

    If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.

    Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.

    This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.

    "}]} \ No newline at end of file +{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Testing Team Wiki","text":""},{"location":"#links","title":"Links","text":"
    • Rocky Linux Mattermost: ~Testing
    • Rocky Linux openQA: https://openqa.rockylinux.org
    "},{"location":"#responsibilities","title":"Responsibilities","text":"

    The Testing Team handles testing and QA for Rocky Linux.

    "},{"location":"#meetings-communications","title":"Meetings / Communications","text":"
    • Weekly Team Meeting: Zoom
    "},{"location":"#members","title":"Members","text":"

    For a list of our members, see the Members page.

    Additional Information ContactDisclaimerLicense

    If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.

    Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.

    This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.

    "},{"location":"members/","title":"Members","text":"Role Name Email Mattermost Name IRC Name Testing Lead Chris Stackpole stack@rockylinux.org @stack Testing Team Al Bowles @raktajino raktajino Testing Team Trevor Cooper tcooper@rockylinux.org @tcooper Testing Team Lukas Magauer lukas@magauer.eu @lumarel Testing Team Alan Marshall @alangm alangm Testing Team Rich Alloway @ralloway Testing Team Anthony Navarro @anavarro10 Additional Information ContactDisclaimerLicense

    If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.

    Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.

    This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.

    "},{"location":"documentation/","title":"Documentation","text":"

    This section goes over various Documentation for the Testing team. Please use the menu items to find the various pages of interest.

    Additional Information ContactDisclaimerLicense

    If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.

    Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.

    This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.

    "},{"location":"guidelines/","title":"Guidelines","text":"

    This section goes over guidelines that the Testing team has set out for anything related to the infrastructure used for testing Rocky Linux.

    All guidelines are listed on the left side of this page.

    Additional Information ContactDisclaimerLicense

    If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.

    Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.

    This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.

    "},{"location":"include/contacts_top/","title":"Contacts top","text":""},{"location":"include/contacts_top/#contact-information","title":"Contact Information","text":"Owner Testing Team Email Contact testing@rockylinux.org Mattermost Contacts @stack, @tcooper Mattermost Channels ~Testing"},{"location":"include/content_bottom/","title":"Content bottom","text":"Additional Information ContactDisclaimerLicense

    If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.

    Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.

    This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.

    "},{"location":"include/members_full/","title":"Members full","text":"Role Name Email Mattermost Name IRC Name Testing Lead Chris Stackpole stack@rockylinux.org @stack Testing Team Al Bowles @raktajino raktajino Testing Team Trevor Cooper tcooper@rockylinux.org @tcooper Testing Team Lukas Magauer lukas@magauer.eu @lumarel Testing Team Alan Marshall @alangm alangm Testing Team Rich Alloway @ralloway Testing Team Anthony Navarro @anavarro10"},{"location":"include/members_no_role/","title":"Members no role","text":"
    | Name            | Email                   | Mattermost Name    | IRC Name  |\n| --------------- | ----------------------- | ------------------ | --------- |\n| Chris Stackpole | stack@rockylinux.org    | @stack             |           |\n| Al Bowles       |                         | @raktajino         | raktajino |\n| Trevor Cooper   | tcooper@rockylinux.org  | @tcooper           |           |\n| Lukas Magauer   | lukas@magauer.eu        | @lumarel           |           |\n| Alan Marshall   |                         | @alangm            | alangm    |\n| Rich Alloway    |                         | @ralloway          |           |\n| Anthony Navarro |                         | @anavarro10        |           |\n
    "},{"location":"sop/","title":"SOP (Standard Operationg Procedures)","text":"

    This section goes over the various SOP's for the Testing Team. Please use the menu items to find the various pages of interest.

    Additional Information ContactDisclaimerLicense

    If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.

    Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.

    This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.

    "},{"location":"sop/openqa_sop_operator_access/","title":"SOP: openQA - Operator Access Request","text":"

    This SOP covers how the Rocky Linux Testing Team handles requests for Operator access to the openQA system.

    "},{"location":"sop/openqa_sop_operator_access/#contact-information","title":"Contact Information","text":"Owner Testing Team Email Contact testing@rockylinux.org Mattermost Contacts @stack, @tcooper Mattermost Channels ~Testing"},{"location":"sop/openqa_sop_operator_access/#responding-to-an-openqa-operator-access-request","title":"Responding to an openQA Operator Access Request","text":"

    TODO

    Additional Information ContactDisclaimerLicense

    If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.

    Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.

    This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.

    "},{"location":"sop/openqa_sop_operator_removal/","title":"SOP: openQA - Operator Access Removal","text":"

    This SOP covers how the Rocky Linux Testing Team handles requests for Operator access removal on the openQA system.

    "},{"location":"sop/openqa_sop_operator_removal/#contact-information","title":"Contact Information","text":"Owner Testing Team Email Contact testing@rockylinux.org Mattermost Contacts @stack, @tcooper Mattermost Channels ~Testing"},{"location":"sop/openqa_sop_operator_removal/#responding-to-an-openqa-operator-access-removal","title":"Responding to an openQA Operator Access Removal","text":"

    TODO

    Additional Information ContactDisclaimerLicense

    If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.

    Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.

    This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.

    "},{"location":"sop/openqa_sop_system_upgrades/","title":"SOP: openQA - System Upgrades","text":"

    This SOP details the necessary steps for performing a system upgrade on an openQA host.

    "},{"location":"sop/openqa_sop_system_upgrades/#contact-information","title":"Contact Information","text":"Owner Testing Team Email Contact testing@rockylinux.org Mattermost Contacts @stack, @tcooper Mattermost Channels ~Testing"},{"location":"sop/openqa_sop_system_upgrades/#fedora","title":"Fedora","text":"
    1. Verify current installation is fully upgraded

      dnf upgrade --refresh\n
    2. Install system upgrade plugin

      dnf install dnf-plugin-system-upgrade\n
    3. Download the upgrade packages for next version

      dnf system-upgrade download --releasever=[newversion]\n
    4. Reboot into offline upgrade mode

      dnf system-upgrade reboot\n
    5. Post-reboot cleanup

      dnf system-upgrade clean\ndnf clean packages\n
    "},{"location":"sop/openqa_sop_system_upgrades/#post-upgrade-tasks","title":"Post-Upgrade Tasks","text":"

    These steps may also be necessary in some (but not all) cases.

    "},{"location":"sop/openqa_sop_system_upgrades/#upgrade-the-postgresql-database","title":"Upgrade the PostgreSQL database","text":"
    1. Install postgresql-upgrade package

      dnf install postgresql-upgrade\n
    2. Upgrade your postgres database

      sudo -iu postgres\npostgresql-setup --upgrade\n
    "},{"location":"sop/openqa_sop_system_upgrades/#re-apply-rocky-branding","title":"Re-apply Rocky branding","text":"
    1. Obtain the Ansible openQA deployment repository

    2. Run the branding related tasks

      ansible-playbook init-openqa-rocky-developer-host.yml -t branding\n
    "},{"location":"sop/openqa_sop_system_upgrades/#references","title":"References","text":"
    • Upgrading Fedora using the DNF system upgrade
    • How to Easily Upgrade to Fedora Workstation 36
    Additional Information ContactDisclaimerLicense

    If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.

    Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.

    This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.

    "},{"location":"sop/sop_repocompare/","title":"SOP: Repocompare","text":"

    This SOP covers how to perform the repocompare process, to ensure that Rocky's package repositories are up-to-date with the RHEL package repositories.

    "},{"location":"sop/sop_repocompare/#contact-information","title":"Contact Information","text":"Owner Testing Team Email Contact testing@rockylinux.org Mattermost Contacts @stack, @tcooper Mattermost Channels ~Testing

    To identify which packages may need updates, visit the appropriate RepoCompare page, focusing on the SRPM Repo Comparison page for each version. Packages where the Rocky version is lower than the RHEL version likely require an update - you can do a manual comparison to be sure.

    "},{"location":"sop/sop_repocompare/#setup","title":"Setup","text":"

    From a RHEL8 machine with a valid entitlement, obtain the repocompare repository:

    git clone https://git.resf.org/testing/repocompare\ncd repocompare/\n

    Import the RPM GPG keys for both Rocky and RHEL

    curl -O http://dl.rockylinux.org/pub/rocky/RPM-GPG-KEY-Rocky-8\ncurl -O http://dl.rockylinux.org/pub/rocky/RPM-GPG-KEY-Rocky-9\nrpm --import RPM-GPG-KEY-Rocky-8\nrpm --import RPM-GPG-KEY-Rocky-9\nrpm --import /etc/pki/rpm-gpg/redhat-official\n
    "},{"location":"sop/sop_repocompare/#comparing-a-package","title":"Comparing a package","text":"

    If the Name/Epoch/Version/Release (NEVR) for the RHEL package is newer than the one for the Rocky package, the package requires an update. In this situation, there will also likely be a newer entry in the changelog for the RHEL package, as shown below:

    ./manual_compare.sh 9 AppStream golang\nRocky Linux 9.2    golang 1.19.9 2.el9_2 * Tue May 23 2023 Alejandro S\u00e1ez <asm@redhat.com> - 1.19.9-2\nRed Hat            golang 1.19.10 1.el9_2 * Tue Jun 06 2023 David Benoit <dbenoit@redhat.com> - 1.19.10-1\n

    Notice that the Red Hat golang package has a higher version than the Rocky Linux 9.2 package. It also has a newer entry in its changelog.

    "},{"location":"sop/sop_repocompare/#gotchas","title":"Gotchas","text":"

    Some packages are not considered relevant for repocompare purposes. These include:

    rhc\nshim-unsigned\n# Any package that exists in RHEL but not in Rocky (denoted by **DOES NOT EXIST** in the Rocky column on the repocompare website)\n
    Additional Information ContactDisclaimerLicense

    If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.

    Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.

    This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.

    "}]} \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 12fbe5a..2b280d4 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,62 +2,67 @@ https://testing.rocky.page/ - 2023-06-30 + 2023-08-17 daily https://testing.rocky.page/members/ - 2023-06-30 + 2023-08-17 daily https://testing.rocky.page/documentation/ - 2023-06-30 + 2023-08-17 daily https://testing.rocky.page/guidelines/ - 2023-06-30 + 2023-08-17 daily https://testing.rocky.page/include/contacts_top/ - 2023-06-30 + 2023-08-17 daily https://testing.rocky.page/include/content_bottom/ - 2023-06-30 + 2023-08-17 daily https://testing.rocky.page/include/members_full/ - 2023-06-30 + 2023-08-17 daily https://testing.rocky.page/include/members_no_role/ - 2023-06-30 + 2023-08-17 daily https://testing.rocky.page/sop/ - 2023-06-30 + 2023-08-17 daily https://testing.rocky.page/sop/openqa_sop_operator_access/ - 2023-06-30 + 2023-08-17 daily https://testing.rocky.page/sop/openqa_sop_operator_removal/ - 2023-06-30 + 2023-08-17 daily https://testing.rocky.page/sop/openqa_sop_system_upgrades/ - 2023-06-30 + 2023-08-17 + daily + + + https://testing.rocky.page/sop/sop_repocompare/ + 2023-08-17 daily \ No newline at end of file diff --git a/sitemap.xml.gz b/sitemap.xml.gz index ddc85fa..469afde 100644 Binary files a/sitemap.xml.gz and b/sitemap.xml.gz differ diff --git a/sop/index.html b/sop/index.html index eaee350..343e238 100644 --- a/sop/index.html +++ b/sop/index.html @@ -19,7 +19,7 @@ - + @@ -27,7 +27,7 @@ - + @@ -394,6 +394,8 @@ + + @@ -458,6 +460,20 @@ + + + + + +
  • + + SOP: Repocompare + +
  • + + + + @@ -563,10 +579,10 @@ to find the various pages of interest.

    - + - + diff --git a/sop/openqa_sop_operator_access/index.html b/sop/openqa_sop_operator_access/index.html index 152e67b..29c5a25 100644 --- a/sop/openqa_sop_operator_access/index.html +++ b/sop/openqa_sop_operator_access/index.html @@ -19,7 +19,7 @@ - + @@ -27,7 +27,7 @@ - + @@ -399,6 +399,8 @@ + + @@ -507,6 +509,20 @@ + + + + + +
  • + + SOP: Repocompare + +
  • + + + + @@ -640,10 +656,10 @@
    - + - + diff --git a/sop/openqa_sop_operator_removal/index.html b/sop/openqa_sop_operator_removal/index.html index 28dc0c3..5b76659 100644 --- a/sop/openqa_sop_operator_removal/index.html +++ b/sop/openqa_sop_operator_removal/index.html @@ -19,7 +19,7 @@ - + @@ -27,7 +27,7 @@ - + @@ -399,6 +399,8 @@ + + @@ -507,6 +509,20 @@ + + + + + +
  • + + SOP: Repocompare + +
  • + + + + @@ -640,10 +656,10 @@
    - + - + diff --git a/sop/openqa_sop_system_upgrades/index.html b/sop/openqa_sop_system_upgrades/index.html index ae4ff49..ce04889 100644 --- a/sop/openqa_sop_system_upgrades/index.html +++ b/sop/openqa_sop_system_upgrades/index.html @@ -16,8 +16,10 @@ + + - + @@ -25,7 +27,7 @@ - + @@ -397,6 +399,8 @@ + + @@ -539,6 +543,20 @@ + + + + + +
  • + + SOP: Repocompare + +
  • + + + + @@ -733,10 +751,10 @@ postgresql-setup --upgrade
    - + - + diff --git a/sop/sop_repocompare/index.html b/sop/sop_repocompare/index.html new file mode 100644 index 0000000..4a6387b --- /dev/null +++ b/sop/sop_repocompare/index.html @@ -0,0 +1,712 @@ + + + + + + + + + + + + + + + + + + + + + + + + SOP: Repocompare - Testing Wiki + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + + + +
    +
    +
    + + + + +
    +
    + + + + + + + + + + + + +

    SOP: Repocompare

    + +

    This SOP covers how to perform the repocompare process, to ensure that Rocky's package repositories are up-to-date with the RHEL package repositories.

    +

    Contact Information

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    OwnerTesting Team
    Email Contacttesting@rockylinux.org
    Mattermost Contacts@stack, @tcooper
    Mattermost Channels~Testing
    +

    To identify which packages may need updates, visit the appropriate RepoCompare page, focusing on the SRPM Repo Comparison page for each version. +Packages where the Rocky version is lower than the RHEL version likely require an update - you can do a manual comparison to be sure.

    +

    Setup

    +

    From a RHEL8 machine with a valid entitlement, obtain the repocompare repository:

    +
    1
    +2
    git clone https://git.resf.org/testing/repocompare
    +cd repocompare/
    +
    +

    Import the RPM GPG keys for both Rocky and RHEL

    +
    1
    +2
    +3
    +4
    +5
    curl -O http://dl.rockylinux.org/pub/rocky/RPM-GPG-KEY-Rocky-8
    +curl -O http://dl.rockylinux.org/pub/rocky/RPM-GPG-KEY-Rocky-9
    +rpm --import RPM-GPG-KEY-Rocky-8
    +rpm --import RPM-GPG-KEY-Rocky-9
    +rpm --import /etc/pki/rpm-gpg/redhat-official
    +
    +

    Comparing a package

    +

    If the Name/Epoch/Version/Release (NEVR) for the RHEL package is newer than the one for the Rocky package, the package requires an update. In this situation, there will also likely be a newer entry in the changelog for the RHEL package, as shown below:

    +
    1
    +2
    +3
    ./manual_compare.sh 9 AppStream golang
    +Rocky Linux 9.2    golang 1.19.9 2.el9_2 * Tue May 23 2023 Alejandro Sáez <asm@redhat.com> - 1.19.9-2
    +Red Hat            golang 1.19.10 1.el9_2 * Tue Jun 06 2023 David Benoit <dbenoit@redhat.com> - 1.19.10-1
    +
    +

    Notice that the Red Hat golang package has a higher version than the Rocky Linux 9.2 package. It also has a newer entry in its changelog.

    +

    Gotchas

    +

    Some packages are not considered relevant for repocompare purposes. These include:

    +
    1
    +2
    +3
    rhc
    +shim-unsigned
    +# Any package that exists in RHEL but not in Rocky (denoted by **DOES NOT EXIST** in the Rocky column on the repocompare website)
    +
    +

    Additional Information

    + +
    +
    +
    +

    If you have questions with respect to this content or to report concerns regarding the use or misuse content please do not hesitate to contact us at info@rockylinux.org.

    +
    +
    +

    Rocky Linux and the Rocky Enterprise Software Foundation (RESF) does not make any express or implied warranties, including but not limited to the warranties of non-infringement of any third party intellectual property rights. RESF does not warrant that any pending trademark applications for trademarks of RESF will result in any granted trademark protection. RESF shall not be liable for any claims relating to user's activities falling within the scope of the permission and user hereby agrees to indemnify, defend and hold RESF and its contributors harmless against any such claim.

    +
    +
    +

    This content is licensed under under Attribution-Share Alike 4.0 International license unless otherwise noted.

    +
    +
    +
    + +
    +
    + + + Last update: + August 15, 2023 + + + +
    + + + + + + +
    +
    + + +
    + + + +
    + +
    + + +
    + +
    +
    +
    +
    + + + + + + + + + \ No newline at end of file